Server Ghost NTP pada Debian 8.6

16

Jadi tim keamanan TI universitas dan saya telah berkeliling dan berkeliling dalam hal ini tanpa istirahat ... ada yang punya pemikiran tentang ini:

Saya baru-baru ini membuat server file kecil untuk lab saya yang menjalankan Debian 8.6 pada komputer khusus (prosesor Intel Avoton C2550 - senang memberikan lebih banyak informasi perangkat keras jika diperlukan, tapi saya pikir tidak perlu). Debian diinstal tanpa masalah, dan pada saat itu saya juga menginstal Samba, NTP, ZFS, dan python. Sepertinya semuanya berjalan dengan baik, jadi saya membiarkannya duduk dan berlari di sudut lab selama beberapa minggu.

Sekitar dua minggu yang lalu, saya menerima email dari tim TI yang mengatakan bahwa server saya telah "dikompromikan" dan rentan digunakan dalam serangan amplifikasi / DDoS NTP (Serangan Amplifikasi NTP Menggunakan CVE-2013-5211 seperti dijelaskan dalam https: //www.us-cert.gov/ncas/alerts/TA14-013A ). Tanda yang mereka tunjuk adalah banyak lalu lintas NTPv2 di port 123. Anehnya, alamat IP yang mereka identifikasi ini berasal ( *.*.*.233) berbeda dari alamat ip yang dikonfigurasikan oleh server saya dan dilaporkan melalui ifconfig ( *.*.*.77). Namun demikian, beberapa pemecahan masalah dasar mengungkapkan bahwa komputer saya memang menghasilkan lalu lintas ini di port 123 (seperti diungkapkan oleh tcpdump).

Di sinilah keanehan dimulai. Saya pertama kali menjalankan "perbaikan" yang direkomendasikan untuk CVE-2013-5211 (keduanya memperbarui NTP versi 4.2.7 yang lalu serta menonaktifkan fungsi monlist). Keduanya tidak membendung arus lalu lintas. Saya kemudian mencoba memblokir port UDP 123 melalui tabel IP:

$ /sbin/iptables -A INPUT -o eth0 -p udp --destination-port 123 -j DROP
$ /sbin/iptables -A OUTPUT -o eth0 -p udp --destination-port 123 -j DROP

tapi itu juga tidak berpengaruh pada lalu lintas. Saya akhirnya mencoba membersihkan NTP dari sistem, tetapi itu juga tidak berpengaruh pada traffic. Sampai sore ini, nmap masih melaporkan:

Starting Nmap 5.51 ( http://nmap.org ) at 2016-12-19 16:15 EST
Nmap scan report for *.233
Host is up (0.0010s latency).
PORT    STATE SERVICE
123/udp open  ntp
| ntp-monlist:
|   Public Servers (2)
|       50.116.52.97    132.163.4.101
|   Public Clients (39)
|       54.90.159.15    185.35.62.119   185.35.62.233   185.35.63.86
|       54.197.89.98    185.35.62.142   185.35.62.250   185.35.63.108
|       128.197.24.176  185.35.62.144   185.35.62.251   185.35.63.128
|       180.97.106.37   185.35.62.152   185.35.63.15    185.35.63.145
|       185.35.62.27    185.35.62.159   185.35.63.27    185.35.63.146
|       185.35.62.52    185.35.62.176   185.35.63.30    185.35.63.167
|       185.35.62.65    185.35.62.186   185.35.63.34    185.35.63.180
|       185.35.62.97    185.35.62.194   185.35.63.38    185.35.63.183
|       185.35.62.106   185.35.62.209   185.35.63.39    185.35.63.185
|_      185.35.62.117   185.35.62.212   185.35.63.43

Itu semua sangat aneh karena NTP telah dibersihkan dari sistem selama berminggu-minggu sekarang.

Setelah mencapai jalan buntu di jalan ini, saya mulai berpikir tentang seluruh masalah ketidakcocokan alamat IP. Komputer saya tampaknya duduk di IP * * .233 dan * .77 (seperti yang dikonfirmasi dengan berhasil melakukan ping baik dengan kabel ethernet terpasang dan keduanya tidak tersedia dengan kabel dicabut), tetapi * .233 tidak pernah muncul di ifconfig:

Link encap:Ethernet  HWaddr d0:XX:XX:51:78:XX  
inet addr:*.77  Bcast:*.255  Mask:255.255.255.0
inet6 addr: X::X:X:X:787a/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:23023571 errors:0 dropped:1362 overruns:0 frame:0
TX packets:364849 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:7441732389 (6.9 GiB)  TX bytes:44699444 (42.6 MiB)
Memory:df300000-df37ffff 

Tidak ada referensi ke * .233 di / etc / network / interfaces, jadi saya tidak melihat dari mana asal penugasan IP ini.

Jadi, saya memiliki dua pertanyaan terkait yang mungkin saya harap seseorang dapat membantu saya dengan: 1) Bagaimana saya bisa menghilangkan lalu lintas NTP ini memuntahkan dari server saya untuk mendapatkan IT dari punggungku? 2) Ada apa dengan alamat IP kedua yang diduduki oleh server saya dan bagaimana cara menghapusnya?

Terima kasih teman-teman :)

UPDATE: Seperti yang diminta: $iptables -L -v -n

Chain INPUT (policy ACCEPT 57 packets, 6540 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 27 packets, 2076 bytes)
 pkts bytes target     prot opt in     out     source               destination

Dan $ip addr ls

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether d0:50:99:51:78:7a brd ff:ff:ff:ff:ff:ff
    inet *.77/24 brd *.255 scope global eth0
       valid_lft forever preferred_lft forever
    inet *.167/24 brd *.255 scope global secondary dynamic eth0
       valid_lft 24612sec preferred_lft 24612sec
    inet6 X::X:X:X:787a/64 scope link 
       valid_lft forever preferred_lft forever
3: eth1: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN group default qlen 1000
    link/ether d0:50:99:51:78:7b brd ff:ff:ff:ff:ff:ff

UPDATE 2: Saya gagal menyebutkan bahwa selain alamat IP yang tidak cocok, ID MAC juga tidak cocok. Ini benar-benar membuat saya berpikir dua kali tentang apakah lalu lintas memang berasal dari mesin saya. Namun: (1) mencabut server saya dari jaringan membuat lalu lintas menghilang; (2) pindah ke port jaringan yang berbeda dan lalu lintas diikuti; dan (3) tcpdump port 123menunjukkan lalu lintas yang menyimpang:

13:24:33.329514 IP cumm024-0701-dhcp-233.bu.edu.ntp > 183.61.254.77.44300: NTPv2, Reserved, length 440
13:24:33.329666 IP cumm024-0701-dhcp-233.bu.edu.ntp > 183.61.254.77.44300: NTPv2, Reserved, length 440
13:24:33.329777 IP cumm024-0701-dhcp-233.bu.edu.ntp > 183.61.254.77.44300: NTPv2, Reserved, length 296

PEMBARUAN 3: $ss -uapn 'sport = :123'

State      Recv-Q Send-Q                  Local Address:Port                    Peer Address:Port 

(yaitu, tidak ada)

$sudo cat /proc/net/dev

Inter-|   Receive                                                |  Transmit
 face |bytes    packets errs drop fifo frame compressed multicast|bytes    packets errs drop fifo colls carrier compressed
    lo:  327357    5455    0    0    0     0          0         0   327357    5455    0    0    0     0       0          0
  eth1:       0       0    0    0    0     0          0         0        0       0    0    0    0     0       0          0
  eth0: 13642399917 36270491    0 6522    0     0          0   2721337 45098276  368537    0    0    0     0       0          0

UPDATE 4: Paket-paket itu adalah khas dari beberapa hari yang lalu. Hari ini (tapi ya, masih sangat tinggi):

20:19:37.011762 IP cumm024-0701-dhcp-233.bu.edu.ntp > 103.56.63.147.26656: NTPv2, Reserved, length 152
20:19:37.011900 IP cumm024-0701-dhcp-233.bu.edu.ntp > 202.83.122.78.58066: NTPv2, Reserved, length 152
20:19:37.012036 IP cumm024-0701-dhcp-233.bu.edu.ntp > 103.56.63.147.17665: NTPv2, Reserved, length 152
20:19:37.014539 IP cumm024-0701-dhcp-233.bu.edu.ntp > 202.83.122.78.27945: NTPv2, Reserved, length 152
20:19:37.015482 IP cumm024-0701-dhcp-233.bu.edu.ntp > 202.83.122.78.42426: NTPv2, Reserved, length 152
20:19:37.015644 IP cumm024-0701-dhcp-233.bu.edu.ntp > 103.56.63.147.16086: NTPv2, Reserved, length 152

$ sudo ss -uapn '( sport = :42426 or dport = :42426 )'
State       Recv-Q Send-Q                                                        Local Address:Port                                                          Peer Address:Port 

Ya, saya bisa melakukan ping ke IP * .233:

$ping 128.197.112.233
PING 128.197.112.233 (128.197.112.233) 56(84) bytes of data.
64 bytes from 128.197.112.233: icmp_seq=1 ttl=64 time=0.278 ms
64 bytes from 128.197.112.233: icmp_seq=2 ttl=64 time=0.282 ms
64 bytes from 128.197.112.233: icmp_seq=3 ttl=64 time=0.320 ms

Tidak, MAC tidak cocok dengan alamat MAC perangkat keras saya: d0: 50: 99: 51: 78: 7a Lalu lintas dikaitkan dengan MAC: bc: 5f: f4: fe: a1: 00

PEMBARUAN 5: Seperti yang diminta, pemindaian port terhadap * .233:

Starting Nmap 6.00 ( http://nmap.org ) at 2016-12-20 20:38 EET
NSE: Loaded 17 scripts for scanning.
Initiating SYN Stealth Scan at 20:38
Scanning cumm024-0701-dhcp-233.bu.edu (128.197.112.233) [1024 ports]
Discovered open port 22/tcp on 128.197.112.233
Completed SYN Stealth Scan at 20:38, 9.79s elapsed (1024 total ports)
Initiating Service scan at 20:38
Scanning 1 service on cumm024-0701-dhcp-233.bu.edu (128.197.112.233)
Completed Service scan at 20:38, 0.37s elapsed (1 service on 1 host)
Initiating OS detection (try #1) against cumm024-0701-dhcp-233.bu.edu (128.197.112.233)
Initiating Traceroute at 20:38
Completed Traceroute at 20:38, 0.10s elapsed
NSE: Script scanning 128.197.112.233.

[+] Nmap scan report for cumm024-0701-dhcp-233.bu.edu (128.197.112.233)
Host is up (0.083s latency).
Not shown: 1013 filtered ports

PORT    STATE  SERVICE VERSION
21/tcp  closed ftp
22/tcp  open   ssh     OpenSSH 5.5p1 Debian 6+squeeze1 (protocol 2.0)
23/tcp  closed telnet
25/tcp  closed smtp
43/tcp  closed whois
80/tcp  closed http
105/tcp closed unknown
113/tcp closed ident
210/tcp closed z39.50
443/tcp closed https
554/tcp closed rtsp

Device type: general purpose
Running: Linux 2.6.X
OS CPE: cpe:/o:linux:kernel:2.6
OS details: DD-WRT v24-sp2 (Linux 2.6.19)
Uptime guess: 45.708 days (since Sat Nov  5 03:39:36 2016)
Network Distance: 9 hops
TCP Sequence Prediction: Difficulty=204 (Good luck!)
IP ID Sequence Generation: All zeros
Service Info: OS: Linux; CPE: cpe:/o:linux:kernel


TRACEROUTE (using port 25/tcp)
HOP RTT      ADDRESS
1   0.95 ms  router1-lon.linode.com (212.111.33.229)
2   0.70 ms  109.74.207.0
3   1.09 ms  be4464.ccr21.lon01.atlas.cogentco.com (204.68.252.85)
4   1.00 ms  be2871.ccr42.lon13.atlas.cogentco.com (154.54.58.185)
5   63.45 ms be2983.ccr22.bos01.atlas.cogentco.com (154.54.1.178)
6   63.60 ms TrusteesOfBostonUniversity.demarc.cogentco.com (38.112.23.118)
7   63.55 ms comm595-core-res01-gi2-3-cumm111-bdr-gw01-gi1-2.bu.edu (128.197.254.125)
8   63.61 ms cumm024-dist-aca01-gi5-2-comm595-core-aca01-gi2-2.bu.edu (128.197.254.206)
9   90.28 ms cumm024-0701-dhcp-233.bu.edu (128.197.112.233)

OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 20.73 seconds
           Raw packets sent: 557 (25.462KB) | Rcvd: 97 (8.560KB)

dan pada UDP:

Starting Nmap 6.00 ( http://nmap.org ) at 2016-12-20 20:44 EET
NSE: Loaded 17 scripts for scanning.
Initiating Ping Scan at 20:44
Scanning 128.197.112.233 [4 ports]
Completed Ping Scan at 20:44, 1.10s elapsed (1 total hosts)
Initiating UDP Scan at 20:44
Scanning cumm024-0701-dhcp-233.bu.edu (128.197.112.233) [1024 ports]
Completed UDP Scan at 20:44, 6.31s elapsed (1024 total ports)
Initiating Service scan at 20:44
Scanning 1024 services on cumm024-0701-dhcp-233.bu.edu (128.197.112.233)
Service scan Timing: About 0.39% done
Service scan Timing: About 3.12% done; ETC: 22:12 (1:25:46 remaining)
Service scan Timing: About 6.05% done; ETC: 21:53 (1:04:39 remaining)
Service scan Timing: About 8.98% done; ETC: 21:46 (0:56:03 remaining)
Discovered open port 123/udp on 128.197.112.233
Discovered open|filtered port 123/udp on cumm024-0701-dhcp-233.bu.edu (128.197.112.233) is actually open
Completed Service scan at 21:31, 2833.50s elapsed (1024 services on 1 host)
Initiating OS detection (try #1) against cumm024-0701-dhcp-233.bu.edu (128.197.112.233)
Retrying OS detection (try #2) against cumm024-0701-dhcp-233.bu.edu (128.197.112.233)
NSE: Script scanning 128.197.112.233.
Initiating NSE at 21:31
Completed NSE at 21:31, 10.02s elapsed

[+] Nmap scan report for cumm024-0701-dhcp-233.bu.edu (128.197.112.233)
Host is up (0.089s latency).
Not shown: 1023 open|filtered ports

PORT    STATE SERVICE VERSION
123/udp open  ntp?

1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at http://www.insecure.org/cgi-bin/servicefp-submit.cgi :
SF-Port123-UDP:V=6.00%I=7%D=12/20%Time=58597D5C%P=x86_64-unknown-linux-gnu
SF:%r(NTPRequest,30,"\xe4\x02\x04\xee\0\0\x8a\xff\0:t\xd9\x84\xa3\x04e\xdb
SF:\xcaeEX\xdbC'\xc5O#Kq\xb1R\xf3\xdc\x03\xfb\xb8\+>U\xab\xdc\x03\xfb\xb8\
SF:+T\xd1\xe9")%r(Citrix,C,"\xde\xc0\x010\x02\0\xa8\xe3\0\0\0\0");

Too many fingerprints match this host to give specific OS details
Network Distance: 9 hops

OS and Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .

Nmap done: 1 IP address (1 host up) scanned in 2863.89 seconds
           Raw packets sent: 175 (6.720KB) | Rcvd: 50 (10.088KB)
Tim Otchy
sumber
3
Kedengarannya seperti mesin Anda dikompromikan dan berusaha menyembunyikan fakta itu. Apa output penuh dari iptables -L -v -ndan ip addr ls.
Mark Wagner
2
@TimOtchy Hanya untuk memperjelas, ketika Anda mencabut kabel ethernet ke server, apakah Anda melakukannya di bagian belakang server, atau di sakelar? Apakah Anda memiliki sakelar cadangan dan Anda dapat menjalankan kabel ethernet dari server ke sakelar tetapi tidak ada yang lain (selain dari daya) dicolokkan ke sakelar. Idenya adalah untuk mengaktifkan tautan di server tetapi jika tidak terisolasi, dan melihat apakah * 233 dapat dijangkau.
icarus
3
Diberikan (server-> aktifkan no_connection LAN) dan Anda dapat melakukan ping baik dari server, dan (server no_connection LAN) dan Anda hanya dapat melakukan ping * .77 dari server, saya pikir kita dapat menyimpulkan bahwa server juga melayani * .233. Pertanyaan selanjutnya, apakah kotak "server" merupakan "besar"? Saya berpikir bahwa mungkin ia memiliki CPU manajemen sasis yang terpisah atau mungkin itu adalah perangkat x86 dan memiliki perangkat pemantauan bawaan. Saya akan cenderung menjalankan pemindaian port penuh terhadap * .233 dan melihat port apa yang terbuka.
icarus
2
Lihat en.wikipedia.org/wiki/Intelligent_Platform_Management_Interface ini adalah CPU terpisah, tidak ada hubungannya dengan cpu utama, bios atau OS utama.
icarus
2
Sepertinya perbaikan harus mengatasi prosesor BMC (IPMI), yang menjalankan ssh (dan linux sesuai dengan tebakan dari nmap). Situs Asrock memiliki perangkat lunak mulai 23 Maret 2016 di atasnya, tetapi dugaan saya adalah itu tidak akan membantu. Pikiranku adalah untuk melihat apakah Anda dapat ssh ke alamat * 233. Saya kira Anda perlu mengatur nama pengguna dan kata sandi, mungkin dalam pengaturan BIOS di bawah opsi BMC ???
icarus

Jawaban:

12

Ini adalah mesin kelas server dengan IPMI. Server NTP "ghost" yang menyebabkan masalah berjalan pada prosesor BMC pada sistem dan bukan pada CPU utama.

icarus
sumber
Hanya berhasil melewati 24 jam tanpa lalu lintas NTP baru dari mac / IP ini. Tentu saja prosesor BMC menjalankan versi firmware yang sangat lama dan memanfaatkan paket NTP masih rentan terhadap eksploitasi amplifikasi. Terima kasih atas semua bantuan Anda dalam memperbaiki ini!
Tim Otchy
8

Seperti yang telah dikatakan, IPMI BMC Anda (mungkin) masalahnya. Jika Anda tidak bisa mendapatkan antarmuka web atau antarmuka ssh dari antarmuka IPMI, Anda dapat mencoba untuk mendapatkan akses menggunakan Alat IPMI pada instalasi Debian Anda:

apt install ipmitool

Setelah diinstal, Anda dapat meneruskan perintah ke BMC seperti ini (jika ada di port 1):

ipmitool lan set 1 ipaddr 192.168.1.211

Berikut ini adalah sumber daya untuk konfigurasi jaringan IPMI dengan IPMITool . man ipmitoolselalu menjadi bacaan yang baik jika Anda macet ...

Halaman ini memiliki informasi tentang mengatur ulang BMC jika perlu.

Semoga berhasil!

Tanda tanya
sumber