一、信息收集
查询本机ip及目标靶机ip
攻击kali ip:192.168.56.104,靶机ip通过nmap或arp-scan -l查看
![](https://i-blog.csdnimg.cn/blog_migrate/3b4829419b35f191365249139f2dfded.png)
收集靶机开放端口
输入nmap -sS -sV -T5 -A 192.168.56.118 #进行靶机端口信息收集
![](https://i-blog.csdnimg.cn/blog_migrate/4650eb6175b99b0634fb014e553bf5c4.png)
22端口被过滤了,80端口开启了,经过查看,没有其他的端口了
这边22端口被过滤,根据以往的经验,应该是什么策略,需要敲击某几个端口,将其敲开,这个思路先放着
对应端口进行尝试
下面对80端口进行访问,在web端查看有用的信息
![](https://i-blog.csdnimg.cn/blog_migrate/734e5483e1ca01a987680bb6e76219f9.png)
![](https://i-blog.csdnimg.cn/blog_migrate/b4e62fd6f796430588386b7234237fa4.png)
查看后发现,在search处有搜索框,在Manage处有登录框
![](https://i-blog.csdnimg.cn/blog_migrate/b092f1952bf728bc614b542af50a2115.png)
![](https://i-blog.csdnimg.cn/blog_migrate/05146f20ab8cc5a62d371f59a0ef192d.png)
二、Web渗透
搜索框可以考虑是否存在sql注入的情况存在,登录框考虑是否存在弱口令或sql注入的存在。
利用burpsuite抓包,将search的包复制保存下来,直接交给sqlmap,发现确实存在sql注入。
sqlmap -r 2.txt --dbs
sqlmap -r 2.txt -D Staff --tables
sqlmap -r 2.txt -D Staff -T Users --columns
sqlmap -r 2.txt -D Staff -T Users -C Username,Password --dump
![](https://i-blog.csdnimg.cn/blog_migrate/0f3eb66cfa1527f80314da49067d1a2c.png)
![](https://i-blog.csdnimg.cn/blog_migrate/0bf5c386abdb8cc1e892395da6bb3625.png)
![](https://i-blog.csdnimg.cn/blog_migrate/d7c3844b762a1b6db7d86865f25c663b.png)
![](https://i-blog.csdnimg.cn/blog_migrate/225385bb66f3453f6d93dc11a86ffd13.png)
![](https://i-blog.csdnimg.cn/blog_migrate/fd1a11f328f898b4e6a8713c5eedf101.png)
用户admin/transorbital1
刚才还有一个users的数据库,去查看一下里面的内容,命令和之前的大同小异
![](https://i-blog.csdnimg.cn/blog_migrate/6b85a41f7db18a68b8934ff0ee32f56a.png)
将这些用户名和密码保存到本地,为后面爆破ssh做准备
利用之前的用户和密码登录网页后查看,发现
![](https://i-blog.csdnimg.cn/blog_migrate/94109a786fb172b970779b2cc1edd7ba.png)
![](https://i-blog.csdnimg.cn/blog_migrate/213d6f2b92d7ba6de0f8df1310fad149.png)
在点search的时候,后面的两个没了,再加上之前底下有file does not exist
应该是php的include在作怪,出现了文件包含漏洞,关于文件包含漏洞原理可以看之前的文章
![](https://i-blog.csdnimg.cn/blog_migrate/77a1535db0b4dd775e405af51dc539a0.png)
果然,文件包含的路径:http://192.168.56.118/manage.php?file=../../../../etc/passwd,再回想起来之前22端口被过滤,考虑可能是需要敲震几个端口,将22端口敲开,这边正好可以查查看
http://192.168.56.118/manage.php?file=../../../../etc/knockd.conf
![](https://i-blog.csdnimg.cn/blog_migrate/817e4c56efc916629f46ea13fe877d58.png)
这边需要敲7469 8475 9842端口,使用knock
![](https://i-blog.csdnimg.cn/blog_migrate/7a1be83241a81dbb33456300b740c139.png)
然后利用hydra对之前存的用户本和密码本进行ssh爆破
![](https://i-blog.csdnimg.cn/blog_migrate/88d0de1c4af66cd772f4ea304f748695.png)
进行这几个用户的登陆切换,发现在janitor的目录下存在隐藏目录,底下还有个密码本文件
![](https://i-blog.csdnimg.cn/blog_migrate/fa9f9d19ad7db2a070752aa915b7035d.png)
将这些密码追加到之前的密码本中再进行爆破,发现了个新用户
![](https://i-blog.csdnimg.cn/blog_migrate/02555d2b4292d0759da16799def9a188.png)
切换到fredf用户后,试试看有没有提权的地方,之前的用户都试过了,没得
![](https://i-blog.csdnimg.cn/blog_migrate/07bff74290dba86575b434e86b791c42.png)
进入这个文件夹下,通过查看文件的扩展名
![](https://i-blog.csdnimg.cn/blog_migrate/c0f31f10ba3e0f5e5258709341fe1236.png)
这边是一个python的项目,查看test.py文件
![](https://i-blog.csdnimg.cn/blog_migrate/7ca2dc038e8a9856076cde4d8e825c7c.png)
这边可以看到当sys.argv的长度不等于3时运行if中语句,等于3时运行else中语句,sys.argv其实是一个列表,用[ ] 提取其中的元素,第一个元素 sys.argv[0] 是程序本身,后面才是一次输入的外部参数。
sys.argv 是获取运行python文件的时候命令行参数,且以list形式存储参数也就是说参数为第三个的时候,会将第二个参数写入第一个参数的后面
那就可以构造个新用户,然后利用这个python的执行文件将构造的新用户添加到/etc/passwd中,构造新用户需要用到openssl passwd -1 -salt xiaoli 12345
![](https://i-blog.csdnimg.cn/blog_migrate/57974def7e1db022bd7cd7726856d2f0.png)
![](https://i-blog.csdnimg.cn/blog_migrate/427ffc0dddd2553cf741e45bf45ce9a3.png)
将其输入到/tmp/xxx 新建个文件,然后运行
最后su一下新添加的用户,即可获得root权限,提权成功
![](https://i-blog.csdnimg.cn/blog_migrate/3363ca49b91c5ba69846296bcfe157cb.png)
自此,DC系列第9个靶机渗透结束。该靶机存在SQL注入漏洞,文件包含漏洞,22端口过滤等知识,总体来说还算比较容易,可以巩固自己的渗透流程和基本操作。
每天学习一丢丢,进步一丢丢~