导语:本文的目的并不是介绍PBX或管理Asterisk,只是教会用户如何防止被电话诈骗。学习本文后,你可以建立自己的来电显示黑名单。
Asterisk的介绍
在我早期进行渗透测试工作时,我的其中一个任务便是找到那些被“wardialing”技术攻击的调制解调器。20世纪80年代,黑客使用了一种叫做“wardialing”的技术,在调制解调器上找到未受保护的计算机。不过想要找到调制解调器上的漏洞,是非常不容易的,因为我不仅对调制解调器的黑客攻击技术一无所知,对调制解调器也是一无所知。
当时,我开始学习关于调制解调器的黑客攻击技术,通信技术和Asterisk的很多知识。最重要的是,我学会了如何更改主叫号码来欺骗用户,起初我认为这顶多是一种恶作剧,但后来我发现,这是一门很实用的社会工程方法。
注:Asterisk是一款实现电话用户交换机(PBX)功能的自由软件、开源软件。提供完善PBX功能,可以连接多种不同的电话终端,包括普通电话机、IP电话机、softphone等,支持多种主asterisk流的IP电话协议和系统接口。
有些服务可以为你自动完成此过程,还有些服务甚至包含具有其他功能的移动应用程序,如通话录音和语音更改。但是,这些服务的每次通话费用可能高达25美分。
当我们使用IP 欺骗技术进行wardialing时,2000多个电话费用超不过10美元。不过本文的目的并不是介绍PBX或管理Asterisk,只是教会用户如何防止被电话诈骗。学习本文后,你可以建立自己的来电显示黑名单。
SIP(会话发起协议)—— VoIP通信的实际标准,用于连接时的初始身份验证和会话协议。
RTP(实时传输协议)—— Chatty,用于在认证和协商后传输音频。
IAX(Inter-Asterisk Exchange)—— Legacy,必须有中继才能从IAX转换为SIP服务提供商。
DISA(直接向内系统接入)——这有点像你的内部系统的VPN,以便你可以安全通话。
DID(直接向内拨号)——这是你的服务提供商分配的电话号码,类似于外部IP地址。
设置Asterisk
你需要将Asterisk服务器设置为可以访问的位置,理想情况下为外部IP。但是,如果你计划使用VPN电话,使用softphone即软件电话或使用端口转发,则内部NAT将起作用,FreePBX可以为AWS AMI提供镜像。
注:FreePBX是基于Asterisk软交换平台的企业通信解决方案,不仅支持标准的IPPBX功能,同时具有灵活,可定制的优势。
一旦拥有了你的FreePBX虚拟机,你就可以启动并运行了。具体过程如下:
1.打开:
1.1打开服务提供商的SIP TCP/UDP 5060;
1.2你的公共IP地址的RTP UDP 10000-20000;
2.进行Asterisk SIP设置;
3.确保外部地址和本地网络的准确性;
4.确保ulaw,alaw,gsm,g726编解码器复选框被打勾;
选择提供商并进行中继设置
一旦你选择了你认为合适的提供商,你就需要在Asterisk中设置你的SIP中继,方法如下
1.连接→中继→添加中继:
2.点击添加SIP(chan_sip)中继;
3.设置你的中继名称;
4.设置拨号号码操作规则:
4.1 1 + NXXNXXXXXX;
4.2 1NXXNXXXXXX;
5.设置你的中继名称;
6.设置对等细节(peer detail);
7.设置用户的使用环境和用户详细信息:
“Host”和“FromDomain”是由服务提供商提供的,通常位于其网站的支持部分。
在服务提供商的网站上,你需要创建SIP中继并指定你的外部IP地址,以允许入站连接,请看,如下所示的具体示例。
设置SIP扩展
为了拨打你的Asterisk,你首先需要为外部DISA创建某种唯一标识符,以将其传递到内部的PBX。注意,Asterisk的扩展函数要与用户名相同。方法如下:
1.应用程序→扩展→添加扩展;
2.选择默认的“通用CHAN SIP设备”;
3.显示名称应是用户名,且应该是数字(例如4位数字)
4.出局主叫CID(Outbound CID)是应是来电显示,然后你可以根据需要对其进行自定义,注意:这是你手动设置主叫ID的方式。目前,它可以随意设置,因为你可以在以后通过配置文件进行更改。
5. 出局并发限制(Outbound Concurrency Limit )代表可以与该扩展同时进行的出局呼叫的数量。如果有多人拨打电话,你需要确保这个号码可以被多人使用。
6.为扩展名设置密码,其他一切都可以保持默认值;
使用设置好的Asterisk
现在,我们已经创建了一个SIP中继,通过我们的VoIP服务提供商对其进行配置,并设置了扩展和密码。现在我们可以使用softphone来拨打我们的Asterisk。
你首先需要下载Linphone softphone,它可以安装在Windows,Mac和Linux上:
注:Linphone是一款开源基于SIP协议的语音视频电话软件,可移植到移动端Android、IOS、WindowsPhone8,桌面系统包括GNU/Linux、Windows、Mac,以及Web浏览器;Linphone目前分离了核心引擎和上层用户界面,允许创建多种相同功能的用户界面;Linphone开放的接口包括,GTK+接口面向Windows、Linux和Mac;控制台接口(linphonec,linphonecsh);Object-C编写的IOS程序;Java编写的Android程序;C#编写的WindowsPhone程序。
一旦你安装了Linphone,打开程序并点击“Account Assistant”。
接下来,将点击“使用SIP帐户”。
使用我们以前创建的扩展,你将登录到Asterisk。如果你已经在外部的VPS上安装了Asterisk,就可以直接使用IP地址。否则,你将需要确保你已经设置了用于SIP和RTP的内部Asterisk服务器的端口转发。
输入用户名(扩展名),Asterisk的公共IP以及为扩展名配置的密码,其他所有内容均为默认值。
点击“使用”后,你将返回到Linphone主屏幕。接着,点击左上角将显示你的Linphone帐户。
然后,选择我们在Asterisk注册的新创建的SIP帐户。
最后,你可以通过在程序顶部的文本框中输入想显示的电话号码来调用Linphone客户端。
总结
本文我已经介绍了这个项目的设置部分,比如如何设置Asterisk,如何配置Asterisk来代替原电话号码,以及如何使用softphone客户端来与Asterisk服务器进行交互。在下一篇文章中,我将深入探讨如何创建自定义的扩展配置和自动化功能,以便进行电话诈骗。