In mijn laatste bericht hebben we vastgesteld dat het client-systeem was waarschijnlijk een soort van hulpmiddel om sonde voor het bekend is dat kwetsbare bestanden draaien. We moeten nog wel uit te leggen op de reset-pakketten, evenals de reden waarom de server was ze te negeren.
Op dit moment hebben we weten niet eens waar dit packet capture werd genomen in verband met de twee eindpunten. Ik ga tshark uitgevoerd met de "-T-gebieden"-schakelaar af te drukken van de TTL informatie. Door het analyseren van de TTLS, moeten we in staat om te bepalen waar we snuffelen in relatie tot de client en de server. Ik ben ook ter perse gaan van de IP-id's om te zien of er sprake is van afwijkingen in het pakket te bestellen.
Hier is de opdracht en de output:
tshark-r challenge1.cap-T-gebieden-e frame.number-e-e ip.src tcp.srcport-e-e ip.ttl ip.id
1 148.78.247.10 26922 49 0x2a6b
2 12.33.247.4 80 64 0 × 0000
3 148.78.247.10 26922 49 0x2a95
4 148.78.247.10 26922 49 0x2a96
5 12.33.247.4 80 64 0 × 3743
6 12.33.247.4 80 255 0xb0f2
7 148.78.247.10 26922 255 0xb0f2
8 12.33.247.4 80 64 0 × 3744
9 12.33.247.4 80 64 0 × 3745
10 12.33.247.4 80 64 0 × 3746
11 12.33.247.4 80 64 0 × 3747
12 12.33.247.4 80 64 0 × 3748
13 12.33.247.4 80 64 0 × 3749
14 12.33.247.4 80 64 0x374a
15 12.33.247.4 80 64 0x374b
16 12.33.247.4 80 64 0x374c
17 12.33.247.4 80 64 0x374d
148.78.247.10 is de opdrachtgever. We weten dat omdat het initiatief van de sessie en de communicatie met behulp van een hogere bron poort. 12.33.247.10 is onze HTTP-server communicatie van de haven 80.
In pakket 1 zien we de klant heeft een TTL van 49. De dichtstbijzijnde start TTL match voor een bekende besturingssysteem is 64, dus dit geeft ons de klant is een Linux-, UNIX-of Mac-systeem vergadering 15 hops weg. In pakket 2 zien we de server met een TTL-waarde van 64, dus het moet een van de eerder genoemde besturingssystemen zitten op het lokale netwerk. Dus, we zijn op dezelfde botsing domein als de server, maar zat 15 hop uit de buurt van de klant.
Er is echter een probleem. Kijk naar packets 6 en 7. Hier zien we de TTL van beide systemen te veranderen naar 255. Een besturingssysteem zal nooit het TTL veranderen tijdens een sessie, dus dit ziet er zeer verdacht. Verder hebben we al vastgesteld dat de klant is 15 hop zit bij ons vandaan. 255 is de grootst mogelijke TTL-waarde als de TTL veld slechts een enkele byte (byte 8 in de IP-header). Dus zelfs als de bron IP-adres beweert de remote client, is er geen manier dat pakket kan overal, maar vanaf het lokale netwerk zijn ontstaan. Als het pakket waren overgestoken een of meer routers, zou de TTL-waarde lager zijn.
Het IP-ID informatie ziet er niet goed zijn. In de eerste drie pakketten van de client zien we de IP ID waarden 0x2a6b (10.859), 0x2a95 (10.901), en 0x2a96 (10.902). Dit vertelt ons de klant is mogelijk met behulp van een +1 incrementele IP ID, we gewoon niet zien 42 van de pakketten tussen de verzonden eerste en tweede pakket. De volgende IP ID zien we vanuit de klant is 0xb0f2 (45.298). OK, tenzij wij misten meer dan 34.000 pakketten, dit IP-ID niet jive.
Let op de bovenstaande analyse zou slechts theoretisch, ware het niet voor de inconsistente TTL waarden. Met slechts drie pakketten om naar te kijken, kunnen we niet precies identificeren van de IP ID te verhogen. Het is ook mogelijk, maar zeer zeer onwaarschijnlijk, dat het IP ID toename is volledig willekeurig en het systeem toevallig twee incrementele IP-id's, een direct na de ander toe te wijzen. Nog steeds, combineren de TTL-en IP-ID-informatie bij elkaar en zij geven aan dat dit laatste pakket niet kon zijn ontstaan uit hetzelfde systeem.
We hebben meer IP ID gegevens van de server om mee te werken, dus laten we eens kijken naar dat. De id's zijn:
- 0 (0)
- 0 × 3743 (14147)
- 0xb0f2 (45298)
- 0 × 3744 (14148)
- 0 × 3745 (14149)
- 0 × 3746 (14150)
- 0 × 3747 (14.151)
- 0 × 3748 (14152)
- 0 × 3749 (14153)
- 0x374a (14154)
- 0x374b (14155)
- 0x374c (14156)
- 0x374d (14157)
Neem een kijkje op de derde lijst IP ID, dat is van packet 6 in het trace. Merk op dat alle andere IP-id's zijn incrementeel +1, maar dit IP ID hoort niet. In feite kunnen we laten zien dat de server stappen is het IP ID met +1 en dat er geen manier is dit pakket afkomstig van de server.
Humm. Ik vraag me af of deze verdachte pakketjes line-up met de vreemde zet zagen we:
tshark-r challenge1.cap-T-gebieden-e-e frame.number ip.src-e-e tcp.srcport ip.ttl-e-e ip.id tcp.flags.reset
1 148.78.247.10 26922 49 0x2a6b 0
2 12.33.247.4 80 64 0 × 0000 0
3 148.78.247.10 26922 49 0x2a95 0
4 148.78.247.10 26922 49 0x2a96 0
5 12.33.247.4 80 64 0 × 3743 0
6 12.33.247.4 80 255 0xb0f2 een
7 148.78.247.10 26922 255 0xb0f2 een
8 12.33.247.4 80 64 0 × 3744 0
9 12.33.247.4 80 64 0 × 3745 0
10 12.33.247.4 80 64 0 × 3746 0
11 12.33.247.4 80 64 0 × 3747 0
12 12.33.247.4 80 64 0 × 3748 0
13 12.33.247.4 80 64 0 × 3749 0
14 12.33.247.4 80 64 0 0x374a
15 12.33.247.4 80 64 0 0x374b
16 12.33.247.4 80 64 0 0x374c
17 12.33.247.4 80 64 0 0x374d
Ah ha! Dus als we kijken naar de pakketjes met de vreemde TTL en IP ID waarden, dit waren de vreemde reset pakketten die worden verzonden tijdens de sessie.
Het lijkt mij zoals sommige derde systeem is springen in het gesprek om de reset-pakketten te verzenden. Aangezien deze vreemde pakketjes hebben een TTL van 255, we weten dat het moet zich op dezelfde botsing domein als waar we zijn snuiven. Aangezien het zich op dezelfde botsing domein, kan de Ethernet-header informatie nuttig zijn:
tshark-r challenge1.cap-T-gebieden-e-e frame.number eth-e tcp.flags.reset
1 Ethernet II, Src: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab), Dst: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3) 0
2 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 0
3 Ethernet II, Src: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab), Dst: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3) 0
4 Ethernet II, Src: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab), Dst: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3) 0
5 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 0
6 Ethernet II, Src: D-Link_8f: E0: 0C (0u50: ba: 8f: E0: 0 ° C), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 1
7 Ethernet II, Src: D-Link_8f: E0: 0C (0u50: ba: 8f: E0: 0 ° C), Dst: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3) 1
8 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 0
9 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 0
10 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 0
11 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 0
12 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 0
13 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 0
14 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 0
15 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 0
16 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 0
17 Ethernet II, Src: DellComp_20: 7d: e3 (00: b0: d0: 20:7 d: e3), Dst: HewlettP_ea: 20: ab (00:50:08 b: ea: 20: ab) 0
Dus als de klant komt van het internet, het door een HP-systeem als ofwel een router of een firewall. Onze webserver wordt uitgevoerd op Dell-hardware. Let op onze reset (pakketten 6 en 7) zijn beide wordt gegenereerd door hetzelfde systeem met behulp van een D-Link NIC.
Dus waarom heeft de D-Link systeem te proberen om de sessie te doden? Dit gebeurde net nadat de opdrachtgever stuurde het verdachte bestand te vragen. Het lijkt mij als de D-Link systeem is eigenlijk een geslepen intrusion prevention system (IPS). Wanneer een aanval wordt gedetecteerd, de IPS pogingen om de aanval te voorkomen door het verzenden van reset-pakketten naar beide uiteinden van de verbinding.
Maar we hebben nog een aantal onbeantwoorde vragen. Was de aanval succesvol en waarom heeft de server verschijnen om de IPS's poging om de sessie te doden negeren?
Draai in de volgende episode uit te vinden.