Kezdőoldal » Számítástechnika » Programozás » Szeretnék hacker lenni,...

Szeretnék hacker lenni, hogyan tudom megtanulni az alapokat?

Figyelt kérdés

Én már megtanultam pár programozási nyelv alapjait ezek pedig a: java,C,C++,Batch,HTML nagyjából ennyi.Szeretném megtanulni a hackerkedést. Persze nem rossz dolgokra akarom használni hanem csak érdekelnének az alapok. Ha valaki egy oktató videót vagy tanácsokat tudna adni/linkelni vagy tippek milyen programozási nyelvet kéne még megtanulnom kérlek tegyétek meg.

Válaszaitokat előre is köszönöm.



2013. júl. 3. 16:12
1 2
 11/13 anonim ***** válasza:
52%

Nem butaság, a hozzáállás igenis egy fontos dolog.


Illetve a programozás még annyira durván nem is fontos a hackeléshez, sokkal fontosabbak az átfogó ismeretek.

2013. júl. 4. 15:27
Hasznos számodra ez a válasz?
 12/13 anonim ***** válasza:

Lol elvégeztem a CEH-et, tehát etikus hacker vagyok és valódi hackelésre kapcsolatos választ adtam és lepontoztak 34%-ra. XD


A szemlélet jogos, bár az nem igaz, hogy nem kell pró módon tudni programozni. Azért exploitot írni komolyabb programozási ismeretek nélkül nem fog tudni senki. Persze el kell dönteni, hogy mi akar lenni a kérdező: script kiddy, aki letölt egy programot, vagy inkább scripteket, betölti metasploitba modullként, majd azzal feltör egy gépet. Az ilyen általában nagyon gyorsan lebukik, a metasploitba semmilyen biztonsági dolog nincs, a kommunikációt egyáltalán nem titkosítja. Szal ez nem jó dolog, és általában valódi hackerek vagy kiröhögik őket, vagy lenézik őket.


A valódi hacker legalább egy programnyelvet tud a webes programnyelvek kivételével: ez lehet bármilyen nyelv. C c++, java, vagy bármi egyéb. Izlés dolga. De azt az egyet legalább tisztességesen ismerje. Tudja, hogy milyen hibák vannak fordítás során, mit kezel le az operációs rendszer és mit nem. Ez megint csak nem teljesen programozási ismeret, bár szorosan kapcsolódik hozzá. Az assambly nyelvet, nagyon helyesen emlegették, bár nem szükséges feltétele szigorúan véve a hackeléshez. Elég "csak" az x86-os, rendszerek főbb regisztereit ismerni, Néhány alapvető assambly utasítást, és azoknak a jelentését ismerni, illetve a hexadecimális megfelelőjüket sem árt ismerni, bár abban sokat segítenek a modern debuggerek.

Aki tudja mi a stack, hogy épül fel, milyen a struktúrája, akkor az már megtanulhatja a hackelést. Nem véletlenül írtam példának, hogy írjon c nyelven egy sima stack overflow-s programot. Kihagytam, hogy csinálja az strcpy függvénnyel. Ezt érdemesebb egy régebbi windows verzióval csinálni, vagy pedig ki kell kapcsolni a DEP-et. Ez megint csak op. rendszer ismeret, hogy mi a dep. pl. mutatok egy rövid exploit elkészítésének menetét:

Íme a program forrása

#include <string.h>

void masol( char * mit)

{

char buff[500];

strcpy(buff,mit);

}

int main(int argc, char **argv)

{

int buff2[100];

masol(argv[1]);

return 0;

}

Nah ha ezt lefordítod Dev-cpp-al, normál beállítások mellett és az argumentum hossza nagyobb mint ötszász karakter, akkor lefagy a program. A windows írni is fogja, hogy a program leállt egy bizonyos memóriacímen.

Amennyiben 508 db A betüt írsz be az argv helyére( amit természetesen simán regeneráltathatsz egy másik programmal), akkor a program a 0x41414141-es memóriacímen fagy le, és felülírtad az EIP regisztert. ( Extended Instruktion Pointer), nézz utána mit jelent, a lényeg, az, hogy x86-os( tehát 32 bites környezetben a little endian kódolással bármilyen memóriacímet adhatsz meg. amire a program ugorhat. Ha a stackbe beleírsz egy program shellcódját, és az EIP regiszternél megadod, a stack aljának címét, akkor a program végrehajtja neked a szükséges a stackbe írt programot. Így bár ez a programra írt exploit nem sokat ér, de ha egy böngészőt törsz fel,hasonló módon, vagy egy apache szervert és abban saját kódot futatsz le, akkor azzal át lehet venni tetszőleges gép fölött az irányítást. Persze ehhez a célalkalmazásnak is rendszergazdai jogokkal kell futnia. Meg ki kell kerülni a DEP-et éles helyzetben ( a Data Execute Prevention-t , tehát az adatvégrehajtás megakadályozása névre hallgató védelmet, és az ún. ASLR-t: Address Space Layout Randomization: ez a stackban randomizálja annak helyzetét futásról futásra, így a támadó nem tudja hova kell ugrani ahhoz, hogy a saját kódja lefusson. Ez a téma elég nehéz és bonyolult, rengeteg ismeret kell hozzá.


A hálózati szinten nem hinném olyan sok kellene, bár érdemes ismerni az összes protokollok hierarchiáját, a SEO szabványt. És a legfőbb protokollok működését, illetve, hogy hogyan készíteni néhány nyelven hálózati kliens szerver kapcsolatokat.

2013. júl. 4. 20:03
Hasznos számodra ez a válasz?
 13/13 anonim ***** válasza:
adj elérhetőséget (priviben) és elmagyarázok 1-2 dolgot :)
2013. júl. 20. 16:27
Hasznos számodra ez a válasz?
1 2

Kapcsolódó kérdések:





Minden jog fenntartva © 2024, www.gyakorikerdesek.hu
GYIK | Szabályzat | Jogi nyilatkozat | Adatvédelem | Cookie beállítások | WebMinute Kft. | Facebook | Kapcsolat: info(kukac)gyakorikerdesek.hu

A weboldalon megjelenő anyagok nem minősülnek szerkesztői tartalomnak, előzetes ellenőrzésen nem esnek át, az üzemeltető véleményét nem tükrözik.
Ha kifogással szeretne élni valamely tartalommal kapcsolatban, kérjük jelezze e-mailes elérhetőségünkön!