0x00 前言
由于昨天520,今天又是521,我被朋友圈和qq空间给刷屏了,都在秀对象。一气之下决定把我上次写的nc拿出来使用类进行重构,多实例化几个对象,这下子我也有对象了。
0x01 一些小插曲
在重构的时候,base64加密通讯加密的一直出问题。一直在修bug,改到了4点多也就是现在4.18 的发现 在返回命令的时候忘记base64编码了,在server解码的时候才会报错,我被自己被笨哭了,同时也加了个异常捕获和修复了输入不正确命令直接报错退出的bug。这次使用了subprocess模块的poen函数完美解决了,在中途遇到非常恶心的一件事,就是windows下面返回的命令是中文必须使用bgk编码,而linux不是中文使用gbk编码会报错,所以分出了2个版本来。修改bug中,由于自己写的代码也不喜欢写注释,改代码的时候,改着改着脑子一团糟。
0x02 功能演示
kali1
python3 nc.py -l 4444 -e base64
kali2
python3 nc.py -i 192.168.3.51 -p 4444 -e base64
0x03 待完善功能
在这还有个文件传输功能和udp http的通讯功能没写,单个功能的demo都已经写好了 就差把它封装起来就完成了。当然还有个多会话,这个的话其实实现起来也简单,可以直接使用多线程让子线程去进行accept()的阻塞来接收连接的机器,新的socket 给个标识符。输入该标识符就调用对应的socket 进行通讯就完成了。
这里把github地址贴出来:
https://github.com/nice0e3/python_c2
0x04 一些小感慨
在这段时候一直在写代码,还是有收获的,很多以前的想法都在逐渐完善。代码功能也是有所提升。
愿代码没有bug。
记录美好时刻。