We consider the following general network design problem on directed graphs. The input is an asymmetric metric (V; c), root r* is an element of V, monotone submodular function f : 2(V) -> R+ and budget B. The goal is to find an r*-rooted arborescence T of cost at most B that maximizes f (T). Our main result is a very simple quasi-polynomial time O (log k/log log k)-approximation algorithm for this problem, where k <= vertical bar V vertical bar is the number of vertices in an optimal solution. To the best of our knowledge, this is the first non-trivial approximation ratio for this problem. As a consequence we obtain an O(log(2)k log log k)-approximation algorithm for directed (polymatroid) Steiner tree in quasi-polynomial time. We also extend our main result to a setting with additional length bounds at vertices, which leads to improved O (log(2) k/log log k)approximation algorithms for the single-source buy-at-bulk and priority Steiner tree problems. For the usual directed Steiner tree problem, our result matches the best previous approximation ratio [15], but improves significantly on the running time: our algorithm takes n(O(log1+epsilon k)) time whereas the previous algorithm required n(O(log5 k)) time. For polymatroid Steiner tree and single-source buy-at-bulk, our result improves prior approximation ratios by a logarithmic factor. For directed priority Steiner tree, our result seems to be the first non-trivial approximation ratio. Under certain complexity assumptions, our approximation ratios are best possible (up to constant factors).