- 7 Haz 2016
- 14
- 0
Arkadaşlar merhaba,
Birkaç ay önce linux bölümünde bir konum vardı "nereden başlamalıyım" şeklinde.
Tavsiyeler üzerine web&server güvenliği bölümünü inceledim ve c++ bilgimi geliştirdim.
Şimdi şunu sormak istiyorum;
-Programlama bilgim C++ ' dan ibaret,algoritma geliştirmem fena sayılmaz program örneği oluşturmakta zorlanıyorum pek yaratıcı değilim ama kağıt üzerinde geliştirdiğim algoritmayı program diline rahatlıkla çevirebiliyorum
-"Sanal işletim sistemi " adında bir program paylaşılmıştı forumda ve bayağı beğenilmişti,kendimi övmek için falan söylemiyorum kesinlikle yanlış anlaşılmasın lakin ben benzer bir projeyi bitirdikten birkaç gün sonra forumda o paylaşımı gördüm.Benim yazdığım programdan daha gelişmişti,ben paylaşmaya değer görmedim.Sonradan da aynı konsept üzerine özentilik yaparcasına paylaşmadım.O programı yazan kişi belki benden daha önce düşünmüştür,yazmıştır bilemem.Ama asıl demek istediğim şey o programı yazacak kapasitem var,bunu biliyorum.
-C++ dilini orta seviyede biliyorum desem yanlış olmaz ama sadece konsol ekranında geliştirilenn uygulamalar olması sebebiyle soğudum bu dilden.Görsel uygulama geliştirmek ise windows'a bağımlı olup deveye hendek atlatmak gibi birşey (visual studio) (başka şekilde bir kolaylığı var mı bilmiyorum).
-python öğrenmeye çalıştım ama o dil de çok basit geliyor.Yani demek istediğim C++ ' daki gibi uğraşmıyorum,tık tık tık yazıyosun ve çalışıyor.Sanki "10 dakikada android oyununuzu yazın" tarzı basit programlar gibi,sen tasarlıyosun,asıl işi derleyici yapıyor.
-Bu sebeple ki assembly dili çok çekici geliyor bana,ama günümüz bilgisayar ihtiyaçlarını karşılayacak programlar yazmak için düşük seviyeli diller yetersiz kalıyor.Yani yetersiz derken demek istediğim son kullanıcıya hitap etmekten ziyade terminal bilgisi olan,komut yazabilen kişiler kullanabiliyor.Fare ile tık tık tık olmuyor.
-Bu forumda çok şey öğrendim,çok değerli,çok bilgili insanlar var.Bilgisayara "Tanrı'nın Gözünden" bakmanın yolu nedir ? Çalışarak mı öğrenebilirim? Nereden eğitim almalıyım? Ne yapmalıyım? Ben sadece kali linux üzerinde "hack tool" kullanarak önceden hazırlanmış komutlar,önceden belirlenmiş açıklar ile hack yapmak istemiyorum,işte o anda beni python dilinden soğutan "yardımcı araç" tarzı his geliyor.Ben komutu yazacağım,program benim icin tüm işleri halledecek.Ben mi yanlış yapıyorum,yahut hack konusunu yanlış mı anlıyorum? Örneğin bir wifi ağına saldırmak,doğru wordlist ile aircrack-ng aracıyla rahatlıkla yapılabilir.Ama bunu yaptığımda "Tanrının Gözünden" bakmıyorum.Bakamıyorum.Bunu yaptığımda wifi ağını kıran ben değil,aircrack oluyor.Bunun için ne yapmalıyım? Hangi program dillerini öğrenmeliyim? Aklımda python ve php var,ama bunları öğrenmekle bitmiyor.Güvenlik açık ve zafiyetlerini tespit etmeyi de öğrenmem lazım.Ama dediğim gibi bunu komutları ezberleyerek değil,bir güvenlik açığının neden orada olduğunu bilerek yapmalıyım.Ezberlediğim komut dışında birşeyle karşılaşırsam donup kalmamalıyım,bunun algoritmasını,bunun kaynak kodunu bilmeliyim,olaya Tanrının Gözünden bakmalıyım,ancak bunları nasıl yapacağımı bilmiyorum.Ben eminim kesinlikle bunun cevabını bilenler var,yaklaşık 1 senedir oradan oraya uğraşıp duruyorum.Lütfen,bana cevap verin,yol gösterin ya da "senden hacker olmaz git counter strike oyna" diyerekten tükenmiş umutlarımı yok edin.
EDIT : İsletim sistemim suanda arch linux,ilk programlama öğrenmeye başladıgım zamanlarda hevesle linux kurmuştum,ama şimdi gerçekten bir yere ulaşamamış olmak kendi ellerimle sıfırdan ilmek ilmek dokuduğum bu sistemden bile soğutuyor.
EDIT 2 : Linux icin "yardımcı konsol" yazmıştım,linux komutlarını kullanırken her seferinde komut yazmayayım diye.Örneğin "Sistem guncellemek icin 13 yazınız" seklinde secenekler vardı,kendi isimi kolaylastırıyordu.Simdi kaynak kodlarına bakıyorum da (c++),daha fazlasına açım ben,ama daha fazlası nerede? Nereden bulacağım ve açlığımı bastıracağım?
EDIT 3 :
Yazdığım bazı programların kaynak kodları :
LINUX YARDIMCI KONSOL
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int giris(){
cout<<endl<<endl<<"Linux Yonetim Konsolu"<<endl<<endl;
cout<<endl<<"Programin dogru calismasi icin root haklarina sahip oldugunuzdan emin olunuz"<<endl;
cout<<"\t\t Yapabileceginiz işlemler \t\t"<<endl;
cout<<"1) Sistemi Guncellestir"<<endl;
cout<<"2) Sistemi Yukselt"<<endl;
cout<<"3) Konsol Ekranini Temizle"<<endl;
cout<<"4) Nano metin duzenleyicisini ac"<<endl;
cout<<"5) Gedit Metin Duzenleyicisini Ac"<<endl;
cout<<"6) Ag yoneticisini durdur"<<endl;
cout<<"7) Ag yoneticisini baslat"<<endl;
cout<<"8) Sistemi Kapat"<<endl;
cout<<"9) Sistemi Yeniden Baslat"<<endl;
cout<<"10) Tor Browser Yukle"<<endl;
cout<<"11) Yonetim Konsolunu Kapat"<<endl;
cout<<"12) Aircrack-ng aracini yukle"<<endl;
cout<<"13) Python etkilesimli komut satirini baslat"<<endl;
}
int islem(int i){
int giris,channel;
char bssid[20];
cin>>giris;
switch(giris){
case 1 :
system("apt-get update");
break;
case 2 :
system("apt-get upgrade");
break;
case 3 :
system("clear");
break;
case 4 :
system("nano txtname");
break;
case 5 :
system("gedit txtname");
break;
case 6 :
system("pkill NetworkManager");
break;
case 7:
system("NetworkManager");
break;
case 8:
system("poweroff");
break;
case 9:
system("reboot");
break;
case 10:
system("sudo add-apt-repository ppa:webupd8team/tor-browser");
system("sudo apt-get update");
system("sudo apt-get install tor-browser");
break;
case 11:
i=1;
break;
case 12:
system("apt-get install aircrack-ng");
break;
case 13:
system("python3");
default:
cout<<"Boyle bir komut yok"<<endl;
break;
}
}
main(){
int y=1,z;
while(y=1){
giris();
islem(z);
if(z=1){return 0;}
else{continue;}
}
}
WORDLIST OLUSTURMA ARACI (ALGORITMASINI TAM BECEREMEDIM AMA BELKI FIKIR EDINIP GELISTIRENLER OLUR )
//Wordlist Olusturma Programi
/*
->Kullanicidan min uzunluk,max uzunluk alacak
->Karakterleri once gecici bir diziye aktaracak
->Daha sonra main diziye aktaracak
->Daha sonra olusturulan kelimeleri bir txt dosyasina yazdiracak
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <fstream>
#include <windows.h>
using namespace std;
class veri{
public:
int min,max; //min ve max tanimlandi
int x,y,z; //donguler icin kullanilacak integer'ler
char katar[10] = {"1","2","3","4","5","6","7","8","9"}; //katar dizisi
string gecici[1000]; // gecici word dizisi
string kalici[1000]; //kalici word dizisi
}ob;
int alg(){
ofstream dosya ("wordlist.txt", ios::app);
srand(time(NULL)); //time degeri
for(ob.x = 1 ; ob.x < 1000 ; ob.x++ ){ //for dongusu
for(ob.y = ob.min; ob.y<ob.max;ob.y++){
ob.gecici[ob.x] = ob.katar[rand()%1000]+ob.katar[rand()%1000] ; /*gecici stringin x'inci elemani katar
dizisinden herhangi bir elemanin secilmesi ve
max degerden kucuk oldugu surece siradaki elemanın
eklenmesi ile olusturulacak
*/
}
ob.kalici[ob.x] = ob.gecici[ob.x];
dosya<<ob.kalici[ob.x]<<endl;
}
}
main(){
cout<<"min : "; cin>>ob.min; cout<<endl;
cout<<"max : "; cin>>ob.max; cout<<endl;
alg();
return 0;
}
Birkaç ay önce linux bölümünde bir konum vardı "nereden başlamalıyım" şeklinde.
Tavsiyeler üzerine web&server güvenliği bölümünü inceledim ve c++ bilgimi geliştirdim.
Şimdi şunu sormak istiyorum;
-Programlama bilgim C++ ' dan ibaret,algoritma geliştirmem fena sayılmaz program örneği oluşturmakta zorlanıyorum pek yaratıcı değilim ama kağıt üzerinde geliştirdiğim algoritmayı program diline rahatlıkla çevirebiliyorum
-"Sanal işletim sistemi " adında bir program paylaşılmıştı forumda ve bayağı beğenilmişti,kendimi övmek için falan söylemiyorum kesinlikle yanlış anlaşılmasın lakin ben benzer bir projeyi bitirdikten birkaç gün sonra forumda o paylaşımı gördüm.Benim yazdığım programdan daha gelişmişti,ben paylaşmaya değer görmedim.Sonradan da aynı konsept üzerine özentilik yaparcasına paylaşmadım.O programı yazan kişi belki benden daha önce düşünmüştür,yazmıştır bilemem.Ama asıl demek istediğim şey o programı yazacak kapasitem var,bunu biliyorum.
-C++ dilini orta seviyede biliyorum desem yanlış olmaz ama sadece konsol ekranında geliştirilenn uygulamalar olması sebebiyle soğudum bu dilden.Görsel uygulama geliştirmek ise windows'a bağımlı olup deveye hendek atlatmak gibi birşey (visual studio) (başka şekilde bir kolaylığı var mı bilmiyorum).
-python öğrenmeye çalıştım ama o dil de çok basit geliyor.Yani demek istediğim C++ ' daki gibi uğraşmıyorum,tık tık tık yazıyosun ve çalışıyor.Sanki "10 dakikada android oyununuzu yazın" tarzı basit programlar gibi,sen tasarlıyosun,asıl işi derleyici yapıyor.
-Bu sebeple ki assembly dili çok çekici geliyor bana,ama günümüz bilgisayar ihtiyaçlarını karşılayacak programlar yazmak için düşük seviyeli diller yetersiz kalıyor.Yani yetersiz derken demek istediğim son kullanıcıya hitap etmekten ziyade terminal bilgisi olan,komut yazabilen kişiler kullanabiliyor.Fare ile tık tık tık olmuyor.
-Bu forumda çok şey öğrendim,çok değerli,çok bilgili insanlar var.Bilgisayara "Tanrı'nın Gözünden" bakmanın yolu nedir ? Çalışarak mı öğrenebilirim? Nereden eğitim almalıyım? Ne yapmalıyım? Ben sadece kali linux üzerinde "hack tool" kullanarak önceden hazırlanmış komutlar,önceden belirlenmiş açıklar ile hack yapmak istemiyorum,işte o anda beni python dilinden soğutan "yardımcı araç" tarzı his geliyor.Ben komutu yazacağım,program benim icin tüm işleri halledecek.Ben mi yanlış yapıyorum,yahut hack konusunu yanlış mı anlıyorum? Örneğin bir wifi ağına saldırmak,doğru wordlist ile aircrack-ng aracıyla rahatlıkla yapılabilir.Ama bunu yaptığımda "Tanrının Gözünden" bakmıyorum.Bakamıyorum.Bunu yaptığımda wifi ağını kıran ben değil,aircrack oluyor.Bunun için ne yapmalıyım? Hangi program dillerini öğrenmeliyim? Aklımda python ve php var,ama bunları öğrenmekle bitmiyor.Güvenlik açık ve zafiyetlerini tespit etmeyi de öğrenmem lazım.Ama dediğim gibi bunu komutları ezberleyerek değil,bir güvenlik açığının neden orada olduğunu bilerek yapmalıyım.Ezberlediğim komut dışında birşeyle karşılaşırsam donup kalmamalıyım,bunun algoritmasını,bunun kaynak kodunu bilmeliyim,olaya Tanrının Gözünden bakmalıyım,ancak bunları nasıl yapacağımı bilmiyorum.Ben eminim kesinlikle bunun cevabını bilenler var,yaklaşık 1 senedir oradan oraya uğraşıp duruyorum.Lütfen,bana cevap verin,yol gösterin ya da "senden hacker olmaz git counter strike oyna" diyerekten tükenmiş umutlarımı yok edin.
EDIT : İsletim sistemim suanda arch linux,ilk programlama öğrenmeye başladıgım zamanlarda hevesle linux kurmuştum,ama şimdi gerçekten bir yere ulaşamamış olmak kendi ellerimle sıfırdan ilmek ilmek dokuduğum bu sistemden bile soğutuyor.
EDIT 2 : Linux icin "yardımcı konsol" yazmıştım,linux komutlarını kullanırken her seferinde komut yazmayayım diye.Örneğin "Sistem guncellemek icin 13 yazınız" seklinde secenekler vardı,kendi isimi kolaylastırıyordu.Simdi kaynak kodlarına bakıyorum da (c++),daha fazlasına açım ben,ama daha fazlası nerede? Nereden bulacağım ve açlığımı bastıracağım?
EDIT 3 :
Yazdığım bazı programların kaynak kodları :
LINUX YARDIMCI KONSOL
#include <iostream>
#include <string>
#include <stdio.h>
#include <stdlib.h>
using namespace std;
int giris(){
cout<<endl<<endl<<"Linux Yonetim Konsolu"<<endl<<endl;
cout<<endl<<"Programin dogru calismasi icin root haklarina sahip oldugunuzdan emin olunuz"<<endl;
cout<<"\t\t Yapabileceginiz işlemler \t\t"<<endl;
cout<<"1) Sistemi Guncellestir"<<endl;
cout<<"2) Sistemi Yukselt"<<endl;
cout<<"3) Konsol Ekranini Temizle"<<endl;
cout<<"4) Nano metin duzenleyicisini ac"<<endl;
cout<<"5) Gedit Metin Duzenleyicisini Ac"<<endl;
cout<<"6) Ag yoneticisini durdur"<<endl;
cout<<"7) Ag yoneticisini baslat"<<endl;
cout<<"8) Sistemi Kapat"<<endl;
cout<<"9) Sistemi Yeniden Baslat"<<endl;
cout<<"10) Tor Browser Yukle"<<endl;
cout<<"11) Yonetim Konsolunu Kapat"<<endl;
cout<<"12) Aircrack-ng aracini yukle"<<endl;
cout<<"13) Python etkilesimli komut satirini baslat"<<endl;
}
int islem(int i){
int giris,channel;
char bssid[20];
cin>>giris;
switch(giris){
case 1 :
system("apt-get update");
break;
case 2 :
system("apt-get upgrade");
break;
case 3 :
system("clear");
break;
case 4 :
system("nano txtname");
break;
case 5 :
system("gedit txtname");
break;
case 6 :
system("pkill NetworkManager");
break;
case 7:
system("NetworkManager");
break;
case 8:
system("poweroff");
break;
case 9:
system("reboot");
break;
case 10:
system("sudo add-apt-repository ppa:webupd8team/tor-browser");
system("sudo apt-get update");
system("sudo apt-get install tor-browser");
break;
case 11:
i=1;
break;
case 12:
system("apt-get install aircrack-ng");
break;
case 13:
system("python3");
default:
cout<<"Boyle bir komut yok"<<endl;
break;
}
}
main(){
int y=1,z;
while(y=1){
giris();
islem(z);
if(z=1){return 0;}
else{continue;}
}
}
WORDLIST OLUSTURMA ARACI (ALGORITMASINI TAM BECEREMEDIM AMA BELKI FIKIR EDINIP GELISTIRENLER OLUR )
//Wordlist Olusturma Programi
/*
->Kullanicidan min uzunluk,max uzunluk alacak
->Karakterleri once gecici bir diziye aktaracak
->Daha sonra main diziye aktaracak
->Daha sonra olusturulan kelimeleri bir txt dosyasina yazdiracak
*/
#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cstring>
#include <ctime>
#include <fstream>
#include <windows.h>
using namespace std;
class veri{
public:
int min,max; //min ve max tanimlandi
int x,y,z; //donguler icin kullanilacak integer'ler
char katar[10] = {"1","2","3","4","5","6","7","8","9"}; //katar dizisi
string gecici[1000]; // gecici word dizisi
string kalici[1000]; //kalici word dizisi
}ob;
int alg(){
ofstream dosya ("wordlist.txt", ios::app);
srand(time(NULL)); //time degeri
for(ob.x = 1 ; ob.x < 1000 ; ob.x++ ){ //for dongusu
for(ob.y = ob.min; ob.y<ob.max;ob.y++){
ob.gecici[ob.x] = ob.katar[rand()%1000]+ob.katar[rand()%1000] ; /*gecici stringin x'inci elemani katar
dizisinden herhangi bir elemanin secilmesi ve
max degerden kucuk oldugu surece siradaki elemanın
eklenmesi ile olusturulacak
*/
}
ob.kalici[ob.x] = ob.gecici[ob.x];
dosya<<ob.kalici[ob.x]<<endl;
}
}
main(){
cout<<"min : "; cin>>ob.min; cout<<endl;
cout<<"max : "; cin>>ob.max; cout<<endl;
alg();
return 0;
}
Son düzenleme: