White is one move ahead, and attacking. You can't be aggressive yet, or you'll just lose!
You have two choices: either you try to contain white, and when that is done and the position is equal, then you try to become active yourself. Or, you let him expand, but make sure you'll have your own trumps as well. The first way will lead to more or less symmetric positions, the second way is only possible if you make the position as asymmetric as possible: then he can have his trumps, and you can have yours.
The most famous asymmetric way of playing against 1.e4 is the Sicilian.
[FEN "rnbqkbnr/pp2pppp/3p4/8/3NP3/8/PPP2PPP/RNBQKB1R b KQkq - 0 4"]
Example Sicilian after 1.e4 c5 2.Nf3 d6 3.d4 cxd4 4.Nxd4.
If white goes for this (he has plenty other options that are very strong too, black has other 2nd moves with the same idea), then he played 3.d4 to open the center, he'll have extra space, open diagonals for his bishops and great chances of an attack -- but you'll have your trumps too. You have 2 pawns vs 1 in the center, can move a rook to the c-file, and you have no weaknesses. You're very far away from having your own attack, but if white expands too much... BOOM. Not easy to play, but white has no way to simply control the game from here, he needs to attack.
Another way is the Pirc / Modern, characterized by putting a bishop on g7. With Nf6 in it's a Pirc, without it's a Modern. E.g.,
[FEN "rnbqk2r/ppp1ppbp/3p1np1/8/3PPP2/2N2N2/PPP3PP/R1BQKB1R b KQkq - 2 5"]
Again a very asymmetric position, white and black are doing very different things. But white has much more space, and he's looking for an attack. Black is thinking that he will be able to defend, and then, white will have thrown too many pawns ahead, leaving behind all kind of empty space... again, counter attack coming up, if black survives.
So those are ways to play for the counter attack; counter attack is only possible if you manage to weather the attack first.
Otherwise, forget about attacking for now, and try to get an equal position.
1.e4
as Black radically solves the task of fighting for the center by offering White to split the power by exchanging pawns. It also immediately strikes at White pawn, I don't know if there is anything more aggressive than that. It is tough to crack, but as I have stated, only White can play for a win. Black is usually solid and has counterplay but must "wait" for White to "waste all the ammo", if you get what I mean...immediately strikes at White pawn
this sounds like cut from a nice book for absolute beginners. The problem is, what kind of aggression was that, when at the end of opening you end up, as you said, "waiting for White to waste all the ammo". Okay, your 2nd move was agressive, now you "wait". I played a lot of Scandinavian in my life. Both Qa5 and Qd6. Have win ratio about 15%, 35% draws, 50% loses(standard long games). Against stronger oponents it's really unlikely to win. At 1400-1600 he can play every opening successfully, that's ugly(or not) truth