[讨论]关于发送匿名邮件的问题
议题作者:撕碎了的小C信息来源:邪恶八进制
最近在研究发送匿名邮件,一般的思路就是在本地搭建一个SMTP,在从本地主机上直接发送邮件到目标的邮件服务器,这样理论上可以任意设置邮件的来源域并达到任意伪造邮件地址的目的。
可实际测试的时候发现,对于一般的大站(163,SINA,HOTMAIL)发送这种匿名邮件都无法收到。
我想应该是这种大型站点都做了防止匿名邮件的一些措施,如将邮件的来源地址进行反DNS查询再与邮件地址进行对比,如果无法查询或者是来源域与地址不对就抛弃。
当然,这只是我的一个猜测,不知道实际情况怎么样,还请各位发表高见。
还有,如果真的是这样还有没有其他的办法进行突破,以达到伪造邮件的目的? 会反向查询你的源ip的,不对应就给拒绝了 我一般都采用免费SMTP,比如使用smtp.163.com,不过需要以前的账户,
现在免费的SMTP账户受到限制,这个时候,就可以发送匿名或者伪造的Email,
但是当你查看邮件头的时候,你可以发现发送的SMTP账户 我试过,自己搭建一个邮件服务器,能够给163的帐号发,163也能收到。据说国内,并不是太多邮件服务器都登记DNS的逆向查询记录。但是,作为反垃圾的技术,是会根据发件邮件服务器的IP反查域名。
其实要匿名发送,可以找找一些发送垃圾邮件的软件。本来SMTP的发件域和IP都是可以伪造的。 晕.发匿名邮件,用系统自带的就行了,
telnet,
收邮件也行,甚至还能收附件,把传过来的base码,解码成二进制就行,
telnet 能做的事多了,只看你们对网络的理解 [quote]原帖由 [i]husheng34[/i] 于 2008-5-22 17:05 发表 [url=http://forum.eviloctal.com/redirect.php?goto=findpost&pid=143159&ptid=33135][img]images/common/back.gif[/img][/url]
晕.发匿名邮件,用系统自带的就行了,
telnet,
收邮件也行,甚至还能收附件,把传过来的base码,解码成二进制就行,
telnet 能做的事多了,只看你们对网络的理解 ... [/quote]
汗~!telnet都可以呀?楼上的能不能给个简单的格式,让我们新手学习下。 TELNET确实可以
具体内容请看RFC里面关于SMTP和POP的协议描述 用免费的 就是好啊
但 还是很容易受伤! [quote]原帖由 [i]husheng34[/i] 于 2008-5-22 17:05 发表 [url=http://forum.eviloctal.com/redirect.php?goto=findpost&pid=143159&ptid=33135][img]images/common/back.gif[/img][/url]
晕.发匿名邮件,用系统自带的就行了,
telnet,
收邮件也行,甚至还能收附件,把传过来的base码,解码成二进制就行,
telnet 能做的事多了,只看你们对网络的理解 ... [/quote]
真的行的话,还请高手说清楚一点了。以21cn和163为例,我试过telnet smtp.21cn.com 25之类的命令。都不会随便就接受匿名帐号通过他们的服务器来发信的。如果他们接收的话,他们很容易成为发送垃圾邮件的源了。
不知道您说的,通过telnet是如何发了。 首用用
cmd>nslookup
>set type=mx
>域名
返回域名的mx记录,
注意这个 mx记录地址,发邮件,是不用身份检证的,
有的域名要反向解析.
然后百度telnet 邮件,得到命令,
其它的就不用我说了吧. [quote]原帖由 [i]frims[/i] 于 2008-5-27 14:21 发表 [url=http://forum.eviloctal.com/redirect.php?goto=findpost&pid=143410&ptid=33135][img]images/common/back.gif[/img][/url]
真的行的话,还请高手说清楚一点了。以21cn和163为例,我试过telnet smtp.21cn.com 25之类的命令。都不会随便就接受匿名帐号通过他们的服务器来发信的。如果他们接收的话,他们很容易成为发送垃圾邮件的源了。
不知道您 ... [/quote]
我估计它说的使用telnet也要在不会进行逆向查询的邮件服务器上使用。21cn和163肯定是不行了。
所以他说的应该只是基于不会进行逆向查询的邮件服务器发送匿名信的一个方法,而不是绕过逆向查询~
下去我也研究下,telnet可以的,nc说不定也行吧~
[[i] 本帖最后由 zerosoul 于 2008-5-27 19:41 编辑 [/i]] 用telnet给sohu发匿名信测试成功,哈哈
不过163,sina和gmail没有测试成功~
[img]http://www.zerosoul.cn/photo/telnetmail1.jpg[/img]
[img]http://www.zerosoul.cn/photo/telnetmail2.jpg[/img]
发信人的地址是[email]zerosoul@zerosoul.cn[/email]
[url]http://www.zerosoul.cn[/url]是我的Blog,上面当然没有邮件服务器了~
nc好像也可以,我用nc测试163的时候和telnet的效果是一样的。
但是这样并没有做到楼主所说的绕过邮件服务器的反查,只是能在命令行下面给不会反查的邮箱发伪装的邮件而已:sad:
[[i] 本帖最后由 zerosoul 于 2008-5-28 02:38 编辑 [/i]] 再来个邪恶一点的,用[email]eviloctal@eviloctal.com[/email]给自己发个邮件纪念一下:lol: 。
步骤可以看下面的截图,其实还是非常简单。我觉得在命令行里发几封伪造邮件,能让我们更好的认识smtp协议~
这个是用telnet发的,我用nc测试的时候果然也成功了。
不过目前只测试成功了sohu~
[font=黑体][b]nslookup[/b][/font]
[img]http://www.zerosoul.cn/photo/eviloctal/1-nslookup.jpg[/img]
[font=黑体][b]Send[/b][/font]
[img]http://www.zerosoul.cn/photo/eviloctal/2-Send.jpg[/img]
[font=黑体][b]收到的邮件(主题)[/b][/font]
[img]http://www.zerosoul.cn/photo/eviloctal/3-Subject.jpg[/img]
[font=黑体][b]收到的邮件(正文)[/b][/font]
[img]http://www.zerosoul.cn/photo/eviloctal/4-mail.jpg[/img]
PS:我这空间有时候不稳定,如果图看不到了,那就是我的Blog打不开了.....但回帖又不能上传图片:sad: ....
Blog:[url]www.zerosoul.cn[/url]
[[i] 本帖最后由 zerosoul 于 2008-5-28 02:27 编辑 [/i]] 越说我就越糊涂了。
反向解析,应该是SMTP服务器之间的,比如163的SMTP服务器和sohu的SMTP服务器,他们互相通信,可能需要逆向查询域名。sohu收到一个ip发的信要检查这个ip是否是163的。
而用telnet发信,是SMTP与客户端之间的通信,是SMTP服务是否允许匿名发信,SMTP服务器是否接受没输入用户名密码的客户端发送的信。
如果某个邮件服务器接受匿名客户端发送,不需要SMTP认证,那就可以发匿名信了。但是,这样的服务器应该很少吧?
不知道这样说有没有错。 我本来是想讨论反DNS认证的问题,现在貌似都来讨论如何发送匿名邮件了。
匿名邮件发送只能对一些没有反DNS认证的服务器才有用,12楼的同志之所以能成功是因为SOHU并没有反过来查询你本机的IP地址是否属于你邮件地址的那个域。 [quote]原帖由 [i]撕碎了的小C[/i] 于 2008-5-29 16:10 发表 [url=http://forum.eviloctal.com/redirect.php?goto=findpost&pid=143506&ptid=33135][img]images/common/back.gif[/img][/url]
我本来是想讨论反DNS认证的问题,现在貌似都来讨论如何发送匿名邮件了。
匿名邮件发送只能对一些没有反DNS认证的服务器才有用,12楼的同志之所以能成功是因为SOHU并没有反过来查询你本机的IP地址是否属于你邮件地址的那 ... [/quote]
我主要是看五楼的兄弟说用telnet也可以发邮件,就小试了一下,的确没有说道楼主所要讨论的,呵呵。
不过今天我用Foxmail测试发信的时候用Wsockexpert抓包简单分析了下,发现好像对于我们平常发送邮件的模式并不是要进行DNS反查,而是不支持直接从客户端发信。不知道对不对,不对大家就指出来哈。谢啦。
smtp发信有两种模式:
1.从客户机直接发到服务器;
2.从一个服务器发到到另一个服务器。
我们平时伪造邮件时,比如我在12,13楼用telnet给搜狐邮箱发信,用的是第一种模式。
这种模式其实用DNS反查是没有效果的,比如,我现在给搜狐的服务器发信,现在[b]假设[/b]它要进行反查,如果我用[email]zerosoul@zerosoul.cn[/email]这个假的邮箱地址给它发信时,它会反查到我用的是假的,然后拒绝。但是如果我用[email]service@qq.com[/email]这个邮箱地址给它发信时,它即使DNS反查,这个邮箱也是真实的,就会接受,但实际上,真正的发信人是我(非法用户),而不是腾讯的客服,这样还是达到了伪造邮件的目的。
所以在这种模式下DNS反查是没有效果的,因此我推断这种模式下并没有DNS反查。用这种模式理论上可以任意伪造邮件地址。
然后我通过比较Wsockexpert抓包的结果发现,之所以163,Hotmail这些邮箱没法伪造邮件是因为它们不支持第一种模式,应该只能用第二种模式。
如果我在Foxmail下用[email]zerosoul520@163.com[/email]给[email]zerosoul520@sohu.com[/email]发邮件,然后抓包,发现Foxmail连接的是163的服务器而不是sohu的。它先要登陆163的服务器,通过用户名密码验证以后,用户把邮件内容,收件人地址等信息全部传给163的服务器,等用户发送完毕以后,再由163的服务器转交给sohu的服务器。如果收信服务器要进行DNS反查,应该就在这个地方查。所以我觉得要发伪造发件人的邮件应该搭建个smtp服务器然后抓包,看看服务器间传递邮件的协议和从客户端到服务器有什么区别,测试后再做判断。
PS:这种模式结构类似这样:我(客户端)-->163-->sohu
:mad: [b]这么多字,等我快打完的时候才突然发现,又有点跑题了![/b]:sad:
[b]小C大哥在发帖的时候就说了是“在本地搭建一个SMTP,再从本地主机上直接发送邮件到目标的邮件服务器”,也就是已经说了是第二种模式,我又在这班门弄斧了.....丢人死了:sad:
但是已经打了这么多字了,删了实在舍不得,想想还是发出来算了,应该还有和我一样的菜菜,就当是科普一下基础知识吧..........[/b]
再发表下个人观点:我认为小C大哥的分析首先应该没错,接收邮件的服务器应该要对来源地址进行反查。现在就看怎么才能绕过了。下去我也搭个邮件服务器抓包试试,呵呵。
页:
[1]